fabricconfig

package
v0.0.0-...-07e35de Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 31, 2019 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddressOverride

type AddressOverride struct {
	From        string `yaml:"from"`
	To          string `yaml:"to"`
	CACertsFile string `yaml:"caCertsFile"`
}

type AnchorPeer

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

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Application

type Application struct {
	ACLs          map[string]string  `yaml:"ACLs,omitempty"`
	Organizations []*Organization    `yaml:"Organizations,omitempty"`
	Policies      map[string]*Policy `yaml:"Policies,omitempty"`
	Capabilities  map[string]bool    `yaml:"Capabilities,omitempty"`

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Authentication

type Authentication struct {
	Timewindow time.Duration `yaml:"timewindow,omitempty"`
}

type BCCSP

type BCCSP struct {
	Default string            `yaml:"Default,omitempty"`
	SW      *SoftwareProvider `yaml:"SW,omitempty"`
}

type Backoff

type Backoff struct {
	RetryBackoff time.Duration `yaml:"RetryBackoff,omitempty"`
	RetryMax     int           `yaml:"RetryMax,omitempty"`
}

type BatchSize

type BatchSize struct {
	MaxMessageCount   string `yaml:"MaxMessageCount,omitempty"`
	AbsoluteMaxBytes  string `yaml:"AbsoluteMaxBytes,omitempty"`
	PreferredMaxBytes string `yaml:"PreferredMaxBytes,omitempty"`

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Capabilities

type Capabilities struct {
	Channel     map[string]bool `yaml:"Channel,omitempty"`
	Orderer     map[string]bool `yaml:"Orderer,omitempty"`
	Application map[string]bool `yaml:"Application,omitempty"`

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Car

type Car struct {
	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Chaincode

type Chaincode struct {
	Builder        string        `yaml:"builder,omitempty"`
	Pull           bool          `yaml:"pull"`
	Golang         *Golang       `yaml:"golang,omitempty"`
	Car            *Car          `yaml:"car,omitempty"`
	Java           *Java         `yaml:"java,omitempty"`
	Node           *Node         `yaml:"node,omitempty"`
	StartupTimeout time.Duration `yaml:"startupTimeout,omitempty"`
	ExecuteTimeout time.Duration `yaml:"executeTimeout,omitempty"`
	Mode           string        `yaml:"mode,omitempty"`
	Keepalive      int           `yaml:"keepalive,omitempty"`
	System         SystemFlags   `yaml:"system,omitempty"`
	Logging        *Logging      `yaml:"logging,omitempty"`

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Channel

type Channel struct {
	Orderer      *ConfigTxOrderer       `yaml:"Orderer,omitempty"`
	Application  *Application           `yaml:"Application,omitempty"`
	Policies     map[string]*Policy     `yaml:"Policies,omitempty"`
	Capabilities map[string]bool        `yaml:"Capabilities,omitempty"`
	Consortiums  map[string]*Consortium `yaml:"Consortiums,omitempty"`

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type ClientKeepalive

type ClientKeepalive struct {
	Interval time.Duration `yaml:"interval,omitempty"`
	Timeout  time.Duration `yaml:"timeout,omitempty"`
}

type ConfigTx

type ConfigTx struct {
	Organizations []*Organization     `yaml:"Organizations,omitempty"`
	Capabilities  *Capabilities       `yaml:"Capabilities,omitempty"`
	Application   *Application        `yaml:"Application,omitempty"`
	Orderer       *ConfigTxOrderer    `yaml:"Orderer,omitempty"`
	Channel       *Channel            `yaml:"Channel,omitempty"`
	Profiles      map[string]*Channel `yaml:"Profiles,omitempty"`

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type ConfigTxEtcdRaft

type ConfigTxEtcdRaft struct {
	Consenters []*Consenter     `yaml:"Consenters,omitempty"`
	Options    *EtcdRaftOptions `yaml:"EtcdRaftOptions,omitempty"`

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type ConfigTxKafka

type ConfigTxKafka struct {
	Brokers []string `yaml:"Brokers,omitempty"`

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type ConfigTxOrderer

type ConfigTxOrderer struct {
	OrdererType   string             `yaml:"OrdererType,omitempty"`
	BatchTimeout  time.Duration      `yaml:"BatchTimeout,omitempty"`
	BatchSize     *BatchSize         `yaml:"BatchSize,omitempty"`
	Kafka         *ConfigTxKafka     `yaml:"Kafka,omitempty"`
	EtcdRaft      *ConfigTxEtcdRaft  `yaml:"EtcdRaft,omitempty"`
	Organizations []*Organization    `yaml:"Organizations,omitempty"`
	Policies      map[string]*Policy `yaml:"Policies,omitempty"`
	Capabilities  map[string]bool    `yaml:"Capabilities,omitempty"`

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Consenter

type Consenter struct {
	Host          string `yaml:"Host,omitempty"`
	Port          int    `yaml:"Port,omitempty"`
	ClientTLSCert string `yaml:"ClientTLSCert,omitempty"`
	ServerTLSCert string `yaml:"ServerTLSCert,omitempty"`

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Consortium

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

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Core

type Core struct {
	Logging    *Logging    `yaml:"logging,omitempty"`
	Peer       *Peer       `yaml:"peer,omitempty"`
	VM         *VM         `yaml:"vm,omitempty"`
	Chaincode  *Chaincode  `yaml:"chaincode,omitempty"`
	Ledger     *Ledger     `yaml:"ledger,omitempty"`
	Operations *Operations `yaml:"operations,omitempty"`
}

type CouchDBConfig

type CouchDBConfig struct {
	CouchDBAddress          string        `yaml:"couchDBAddress,omitempty"`
	Username                string        `yaml:"username,omitempty"`
	Password                string        `yaml:"password,omitempty"`
	MaxRetries              int           `yaml:"maxRetries,omitempty"`
	MaxRetriesOnStartup     int           `yaml:"maxRetriesOnStartup,omitempty"`
	RequestTimeout          time.Duration `yaml:"requestTimeout,omitempty"`
	QueryLimit              int           `yaml:"queryLimit,omitempty"`
	MaxBatchUpdateSize      int           `yaml:"maxBatchUpdateSize,omitempty"`
	WarmIndexesAfterNBlocks int           `yaml:"warmIndexesAfteNBlocks,omitempty"`
}

type DeliveryClient

type DeliveryClient struct {
	ReconnectTotalTimeThreshold time.Duration      `yaml:"reconnectTotalTimeThreshold,omitempty"`
	AddressOverrides            []*AddressOverride `yaml:"addressOverrides,omitempty"`
}

type Discovery

type Discovery struct {
	Enabled                      bool    `yaml:"enabled"`
	AuthCacheEnabled             bool    `yaml:"authCacheEnabled"`
	AuthCacheMaxSize             int     `yaml:"authCacheMaxSize,omitempty"`
	AuthCachePurgeRetentionRatio float64 `yaml:"authCachePurgeRetentionRatio"`
	OrgMembersAllowedAccess      bool    `yaml:"orgMembersAllowedAccess"`
}

type Docker

type Docker struct {
	TLS          *TLS               `yaml:"tls,omitempty"`
	AttachStdout bool               `yaml:"attachStdout"`
	HostConfig   *docker.HostConfig `yaml:"hostConfig,omitempty"`
}

type EtcdRaftOptions

type EtcdRaftOptions struct {
	TickInterval         string `yaml:"TickInterval,omitempty"`
	ElectionTick         string `yaml:"ElectionTick,omitempty"`
	HeartbeatTick        string `yaml:"HeartbeatTick,omitempty"`
	MaxInflightBlocks    string `yaml:"MaxInflightBlocks,omitempty"`
	SnapshotIntervalSize string `yaml:"SnapshotIntervalSize,omitempty"`

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Events

type Events struct {
	Address    string        `yaml:"address,omitempty"`
	Buffersize int           `yaml:"buffersize,omitempty"`
	Timeout    time.Duration `yaml:"timeout,omitempty"`
	Timewindow time.Duration `yaml:"timewindow,omitempty"`
	Keepalive  *Keepalive    `yaml:"keepalive,omitempty"`
}

type FileLedger

type FileLedger struct {
	Location string `yaml:"Location,omitempty"`
	Prefix   string `yaml:"Prefix,omitempty"`
}

type FileRef

type FileRef struct {
	File string `yaml:"file,omitempty"`
}

type FilesRef

type FilesRef struct {
	Files []string `yaml:"files,omitempty"`
}

type General

type General struct {
	LedgerType     string                 `yaml:"LedgerType,omitempty"`
	ListenAddress  string                 `yaml:"ListenAddress,omitempty"`
	ListenPort     int                    `yaml:"ListenPort,omitempty"`
	TLS            *OrdererTLS            `yaml:"TLS,omitempty"`
	Keepalive      *OrdererKeepalive      `yaml:"Keepalive,omitempty"`
	GenesisMethod  string                 `yaml:"GenesisMethod,omitempty"`
	GenesisProfile string                 `yaml:"GenesisProfile,omitempty"`
	GenesisFile    string                 `yaml:"GenesisFile,omitempty"`
	LocalMSPDir    string                 `yaml:"LocalMSPDir,omitempty"`
	LocalMSPID     string                 `yaml:"LocalMSPID,omitempty"`
	Profile        *OrdererProfile        `yaml:"Profile,omitempty"`
	BCCSP          *BCCSP                 `yaml:"BCCSP,omitempty"`
	Authentication *OrdererAuthentication `yaml:"Authentication,omitempty"`

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Golang

type Golang struct {
	Runtime     string `yaml:"runtime,omitempty"`
	DynamicLink bool   `yaml:"dynamicLink"`

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Gossip

type Gossip struct {
	Bootstrap                  string          `yaml:"bootstrap,omitempty"`
	UseLeaderElection          bool            `yaml:"useLeaderElection"`
	OrgLeader                  bool            `yaml:"orgLeader"`
	Endpoint                   string          `yaml:"endpoint,omitempty"`
	MaxBlockCountToStore       int             `yaml:"maxBlockCountToStore,omitempty"`
	MaxPropagationBurstLatency time.Duration   `yaml:"maxPropagationBurstLatency,omitempty"`
	MaxPropagationBurstSize    int             `yaml:"maxPropagationBurstSize,omitempty"`
	PropagateIterations        int             `yaml:"propagateIterations,omitempty"`
	PropagatePeerNum           int             `yaml:"propagatePeerNum,omitempty"`
	PullInterval               time.Duration   `yaml:"pullInterval,omitempty"`
	PullPeerNum                int             `yaml:"pullPeerNum,omitempty"`
	RequestStateInfoInterval   time.Duration   `yaml:"requestStateInfoInterval,omitempty"`
	PublishStateInfoInterval   time.Duration   `yaml:"publishStateInfoInterval,omitempty"`
	StateInfoRetentionInterval time.Duration   `yaml:"stateInfoRetentionInterval,omitempty"`
	PublishCertPeriod          time.Duration   `yaml:"publishCertPeriod,omitempty"`
	DialTimeout                time.Duration   `yaml:"dialTimeout,omitempty"`
	ConnTimeout                time.Duration   `yaml:"connTimeout,omitempty"`
	RecvBuffSize               int             `yaml:"recvBuffSize,omitempty"`
	SendBuffSize               int             `yaml:"sendBuffSize,omitempty"`
	DigestWaitTime             time.Duration   `yaml:"digestWaitTime,omitempty"`
	RequestWaitTime            time.Duration   `yaml:"requestWaitTime,omitempty"`
	ResponseWaitTime           time.Duration   `yaml:"responseWaitTime,omitempty"`
	AliveTimeInterval          time.Duration   `yaml:"aliveTimeInterval,omitempty"`
	AliveExpirationTimeout     time.Duration   `yaml:"aliveExpirationTimeout,omitempty"`
	ReconnectInterval          time.Duration   `yaml:"reconnectInterval,omitempty"`
	ExternalEndpoint           string          `yaml:"externalEndpoint,omitempty"`
	Election                   *GossipElection `yaml:"election,omitempty"`
	PvtData                    *GossipPvtData  `yaml:"pvtData,omitempty"`
}

type GossipElection

type GossipElection struct {
	StartupGracePeriod       time.Duration `yaml:"startupGracePeriod,omitempty"`
	MembershipSampleInterval time.Duration `yaml:"membershipSampleInterval,omitempty"`
	LeaderAliveThreshold     time.Duration `yaml:"leaderAliveThreshold,omitempty"`
	LeaderElectionDuration   time.Duration `yaml:"leaderElectionDuration,omitempty"`
}

type GossipPvtData

type GossipPvtData struct {
	PullRetryThreshold              time.Duration `yaml:"pullRetryThreshold,omitempty"`
	TransientstoreMaxBlockRetention int           `yaml:"transientstoreMaxBlockRetention,omitempty"`
	PushAckTimeout                  time.Duration `yaml:"pushAckTimeout,omitempty"`
}

type Handler

type Handler struct {
	Name    string `yaml:"name,omitempty"`
	Library string `yaml:"library,omitempty"`
}

type HandlerMap

type HandlerMap map[string]Handler

type Handlers

type Handlers struct {
	AuthFilters []Handler  `yaml:"authFilters,omitempty"`
	Decorators  []Handler  `yaml:"decorators,omitempty"`
	Endorsers   HandlerMap `yaml:"endorsers,omitempty"`
	Validators  HandlerMap `yaml:"validators,omitempty"`
}

type HistoryConfig

type HistoryConfig struct {
	EnableHistoryDatabase bool `yaml:"enableHistoryDatabase"`
}

type Java

type Java struct {
	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Kafka

type Kafka struct {
	Retry     *Retry            `yaml:"Retry,omitempty"`
	Verbose   bool              `yaml:"Verbose"`
	TLS       *OrdererTLS       `yaml:"TLS,omitempty"`
	SASLPlain *OrdererSASLPlain `yaml:"SASLPlain,omitempty"`
	Topic     *OrdererTopic     `yaml:"Topic,omitempty"`
}

type Keepalive

type Keepalive struct {
	MinInterval    time.Duration    `yaml:"minInterval,omitempty"`
	Client         *ClientKeepalive `yaml:"client,omitempty"`
	DeliveryClient *ClientKeepalive `yaml:"deliveryClient,omitempty"`
}

type Ledger

type Ledger struct {
	// Blockchain - not sure if it's needed
	State   *StateConfig   `yaml:"state,omitempty"`
	History *HistoryConfig `yaml:"history,omitempty"`
}

type Logging

type Logging struct {
	Format string `yaml:"format,omitempty"`

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Metrics

type Metrics struct {
	Provider string  `yaml:"provider"`
	Statsd   *Statsd `yaml:"statsd,omitempty"`
}

type NetworkTimeouts

type NetworkTimeouts struct {
	DialTimeout  time.Duration `yaml:"DialTimeout,omitempty"`
	ReadTimeout  time.Duration `yaml:"ReadTimeout,omitempty"`
	WriteTimeout time.Duration `yaml:"WriteTimeout,omitempty"`
}

type Node

type Node struct {
	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Operations

type Operations struct {
	ListenAddress string `yaml:"listenAddress,omitempty"`
	TLS           *TLS   `yaml:"tls"`
}

type Orderer

type Orderer struct {
	General    *General           `yaml:"General,omitempty"`
	FileLedger *FileLedger        `yaml:"FileLedger,omitempty"`
	RAMLedger  *RAMLedger         `yaml:"RAMLedger,omitempty"`
	Kafka      *Kafka             `yaml:"Kafka,omitempty"`
	Operations *OrdererOperations `yaml:"Operations,omitempty"`

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type OrdererAuthentication

type OrdererAuthentication struct {
	TimeWindow time.Duration `yaml:"TimeWindow,omitempty"`
}

type OrdererKeepalive

type OrdererKeepalive struct {
	ServerMinInterval time.Duration `yaml:"ServerMinInterval,omitempty"`
	ServerInterval    time.Duration `yaml:"ServerInterval,omitempty"`
	ServerTimeout     time.Duration `yaml:"ServerTimeout,omitempty"`
}

type OrdererMetrics

type OrdererMetrics struct {
	Provider string         `yaml:"Provider"`
	Statsd   *OrdererStatsd `yaml:"Statsd,omitempty"`
}

type OrdererOperations

type OrdererOperations struct {
	ListenAddress string          `yaml:"ListenAddress,omitempty"`
	Metrics       *OrdererMetrics `yaml:"Metrics,omitempty"`
	TLS           *OrdererTLS     `yaml:"TLS"`
}

type OrdererProfile

type OrdererProfile struct {
	Enabled bool   `yaml:"Enabled"`
	Address string `yaml:"Address,omitempty"`
}

type OrdererSASLPlain

type OrdererSASLPlain struct {
	Enabled  bool   `yaml:"Enabled"`
	User     string `yaml:"User,omitempty"`
	Password string `yaml:"Password,omitempty"`
}

type OrdererStatsd

type OrdererStatsd struct {
	Network       string        `yaml:"Network,omitempty"`
	Address       string        `yaml:"Address,omitempty"`
	WriteInterval time.Duration `yaml:"WriteInterval,omitempty"`
	Prefix        string        `yaml:"Prefix,omitempty"`
}

type OrdererTLS

type OrdererTLS struct {
	Enabled            bool     `yaml:"Enabled"`
	PrivateKey         string   `yaml:"PrivateKey,omitempty"`
	Certificate        string   `yaml:"Certificate,omitempty"`
	RootCAs            []string `yaml:"RootCAs,omitempty"`
	ClientAuthRequired bool     `yaml:"ClientAuthRequired"`
	ClientRootCAs      []string `yaml:"ClientRootCAs,omitempty"`
}

type OrdererTopic

type OrdererTopic struct {
	ReplicationFactor int16
}

type Organization

type Organization struct {
	Name             string             `yaml:"Name,omitempty"`
	SkipAsForeign    bool               `yaml:"SkipAsForeign,omitempty"`
	ID               string             `yaml:"ID,omitempty"`
	MSPDir           string             `yaml:"MSPDir,omitempty"`
	Policies         map[string]*Policy `yaml:"Policies,omitempty"`
	OrdererEndpoints []string           `yaml:"OrdererEndpoints,omitempty"`
	AnchorPeers      []*AnchorPeer      `yaml:"AnchorPeers,omitempty"`

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Peer

type Peer struct {
	ID                     string          `yaml:"id,omitempty"`
	NetworkID              string          `yaml:"networkId,omitempty"`
	ListenAddress          string          `yaml:"listenAddress,omitempty"`
	ChaincodeListenAddress string          `yaml:"chaincodeListenAddress,omitempty"`
	ChaincodeAddress       string          `yaml:"chaincodeAddress,omitempty"`
	Address                string          `yaml:"address,omitempty"`
	AddressAutoDetect      bool            `yaml:"addressAutoDetect"`
	Keepalive              *Keepalive      `yaml:"keepalive,omitempty"`
	Gossip                 *Gossip         `yaml:"gossip,omitempty"`
	Events                 *Events         `yaml:"events,omitempty"`
	TLS                    *TLS            `yaml:"tls,omitempty"`
	Authentication         *Authentication `yaml:"authentication,omitempty"`
	FileSystemPath         string          `yaml:"fileSystemPath,omitempty"`
	BCCSP                  *BCCSP          `yaml:"BCCSP,omitempty"`
	MSPConfigPath          string          `yaml:"mspConfigPath,omitempty"`
	LocalMSPID             string          `yaml:"localMspId,omitempty"`
	Deliveryclient         *DeliveryClient `yaml:"deliveryclient,omitempty"`
	LocalMspType           string          `yaml:"localMspType,omitempty"`
	AdminService           *Service        `yaml:"adminService,omitempty"`
	Handlers               *Handlers       `yaml:"handlers,omitempty"`
	ValidatorPoolSize      int             `yaml:"validatorPoolSize,omitempty"`
	Discovery              *Discovery      `yaml:"discovery,omitempty"`

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Policy

type Policy struct {
	Type string `yaml:"Type,omitempty"`
	Rule string `yaml:"Rule,omitempty"`

	ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type RAMLedger

type RAMLedger struct {
	HistorySize int `yaml:"HistorySize,omitempty"`
}

type Retry

type Retry struct {
	ShortInterval   time.Duration    `yaml:"ShortInterval,omitempty"`
	ShortTotal      time.Duration    `yaml:"ShortTotal,omitempty"`
	LongInterval    time.Duration    `yaml:"LongInterval,omitempty"`
	LongTotal       time.Duration    `yaml:"LongTotal,omitempty"`
	NetworkTimeouts *NetworkTimeouts `yaml:"NetworkTimeouts,omitempty"`
	Metadata        *Backoff         `yaml:"Metadata,omitempty"`
	Producer        *Backoff         `yaml:"Producer,omitempty"`
	Consumer        *Backoff         `yaml:"Consumer,omitempty"`
}

type Service

type Service struct {
	Enabled       bool   `yaml:"enabled"`
	ListenAddress string `yaml:"listenAddress,omitempty"`
}

type SoftwareProvider

type SoftwareProvider struct {
	Hash     string `yaml:"Hash,omitempty"`
	Security int    `yaml:"Security,omitempty"`
}

type StateConfig

type StateConfig struct {
	StateDatabase string         `yaml:"stateDatabase,omitempty"`
	CouchDBConfig *CouchDBConfig `yaml:"couchDBConfig,omitempty"`
}

type Statsd

type Statsd struct {
	Network       string        `yaml:"network,omitempty"`
	Address       string        `yaml:"address,omitempty"`
	WriteInterval time.Duration `yaml:"writeInterval,omitempty"`
	Prefix        string        `yaml:"prefix,omitempty"`
}

type SystemFlags

type SystemFlags struct {
	CSCC string `yaml:"cscc,omitempty"`
	LSCC string `yaml:"lscc,omitempty"`
	ESCC string `yaml:"escc,omitempty"`
	VSCC string `yaml:"vscc,omitempty"`
	QSCC string `yaml:"qscc,omitempty"`
}

type TLS

type TLS struct {
	Enabled            bool      `yaml:"enabled"`
	ClientAuthRequired bool      `yaml:"clientAuthRequired"`
	CA                 *FileRef  `yaml:"ca,omitempty"`
	Cert               *FileRef  `yaml:"cert,omitempty"`
	Key                *FileRef  `yaml:"key,omitempty"`
	RootCert           *FileRef  `yaml:"rootcert,omitempty"`
	ClientRootCAs      *FilesRef `yaml:"clientRootCAs,omitempty"`
	ClientKey          *FileRef  `yaml:"clientKey,omitempty"`
	ClientCert         *FileRef  `yaml:"clientCert,omitempty"`
}

type VM

type VM struct {
	Endpoint string  `yaml:"endpoint,omitempty"`
	Docker   *Docker `yaml:"docker,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL