platforms

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Feb 3, 2020 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type MetadataProvider

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

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

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
}

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

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

Directories

Path Synopsis
# Copyright State Street Corp.
# Copyright State Street Corp.
# Copyright State Street Corp.
# Copyright State Street Corp.
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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