...

Package platforms

import "github.com/hyperledger/fabric/core/chaincode/platforms"
Overview
Index
Subdirectories

Overview ▾

type MetadataProvider

MetadataProvider is implemented by each platform in a platform specific manner. It can process metadata stored in ChaincodeDeploymentSpec in different formats. The common format is targz. Currently users expect the metadata to be presented as tar file entries (directly extracted from chaincode stored in targz format). In future, we would like provide better abstraction by extending the interface

type MetadataProvider interface {
    GetMetadataAsTarEntries() ([]byte, error)
}

type PackageWriter

type PackageWriter interface {
    Write(name string, payload []byte, tw *tar.Writer) error
}

type PackageWriterWrapper

type PackageWriterWrapper func(name string, payload []byte, tw *tar.Writer) error

func (PackageWriterWrapper) Write

func (pw PackageWriterWrapper) Write(name string, payload []byte, tw *tar.Writer) error

type Platform

Interface for validating the specification and and writing the package for the given platform

type Platform interface {
    Name() string
    ValidatePath(path string) error
    ValidateCodePackage(code []byte) error
    GetDeploymentPayload(path string) ([]byte, error)
    GenerateDockerfile() (string, error)
    GenerateDockerBuild(path string, code []byte, tw *tar.Writer) error
    GetMetadataProvider(code []byte) MetadataProvider
}

type Registry

type Registry struct {
    Platforms     map[string]Platform
    PackageWriter PackageWriter
}

func NewRegistry

func NewRegistry(platformTypes ...Platform) *Registry

func (*Registry) GenerateDockerBuild

func (r *Registry) GenerateDockerBuild(ccType, path, name, version string, codePackage []byte) (io.Reader, error)

func (*Registry) GenerateDockerfile

func (r *Registry) GenerateDockerfile(ccType, name, version string) (string, error)

func (*Registry) GetDeploymentPayload

func (r *Registry) GetDeploymentPayload(ccType, path string) ([]byte, error)

func (*Registry) GetMetadataProvider

func (r *Registry) GetMetadataProvider(ccType string, codePackage []byte) (MetadataProvider, error)

func (*Registry) StreamDockerBuild

func (r *Registry) StreamDockerBuild(ccType, path string, codePackage []byte, inputFiles map[string][]byte, tw *tar.Writer) error

func (*Registry) ValidateDeploymentSpec

func (r *Registry) ValidateDeploymentSpec(ccType string, codePackage []byte) error

func (*Registry) ValidateSpec

func (r *Registry) ValidateSpec(ccType, path string) error

Subdirectories

Name Synopsis
..
car # Copyright State Street Corp.
ccmetadata # Copyright State Street Corp.
golang
java
mock Code generated by counterfeiter.
node
util