From 0dfccb09878757cceec3cea43d3c8191213e980a Mon Sep 17 00:00:00 2001 From: Khang Lieu Date: Wed, 2 Dec 2020 12:56:30 -0500 Subject: [PATCH 1/9] Initial commit --- Dockerfile | 48 ++++++++ Jenkinsfile | 3 + Makefile | 326 ++++++++++++++++++++++++++++++++++++++++++++++++++ download.json | 20 ++++ 4 files changed, 397 insertions(+) create mode 100755 Dockerfile create mode 100644 Jenkinsfile create mode 100644 Makefile create mode 100644 download.json diff --git a/Dockerfile b/Dockerfile new file mode 100755 index 0000000..b98fde4 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,48 @@ +# Copyright IBM Corp. All Rights Reserved. +# +# SPDX-License-Identifier: Apache-2.0 + +ARG BASE_REGISTRY=registry1.dsop.io +ARG BASE_IMAGE=ironbank/redhat/ubi/ubi8 +ARG BASE_TAG=8.2 +FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} AS extractor + +# Defining file names for binaries and sampleconfig +ARG BINARIESFILENAME=hyperledger-fabric-linux-amd64-2.2.1.tar.gz +ARG BINARIES=hyperledger-fabric-linux-amd64-2.2.1 +ARG SAMPLECONFIGFILENAME=fabric-2.2.1.zip +ARG SAMPLECONFIG=fabric-2.2.1 + +RUN yum install -y unzip + +WORKDIR /extract +COPY $BINARIESFILENAME /extract +RUN mkdir -p /extract/${BINARIES} && ls && tar -zxvf /extract/$BINARIESFILENAME -C /extract/${BINARIES} && ls + +COPY ${SAMPLECONFIGFILENAME} /extract +WORKDIR /extract +RUN unzip /extract/${SAMPLECONFIGFILENAME} && pwd && ls +VOLUME /extract + +FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} + +RUN yum install -y go jq +ENV GOROOT /usr/lib/go +ENV GOPATH /go +ENV PATH /go/bin:$PATH +RUN mkdir -p ${GOPATH}/src ${GOPATH}/bin + +# Defining file names for binaries and sampleconfig +ARG BINARIESFILENAME=hyperledger-fabric-linux-amd64-2.2.1.tar.gz +ARG BINARIES=hyperledger-fabric-linux-amd64-2.2.1 +ARG SAMPLECONFIGFILENAME=fabric-2.2.1.zip +ARG SAMPLECONFIG=fabric-2.2.1 +# Copying the executable instead of building it and then bringing it over +COPY --from=extractor /extract/$BINARIES/bin/peer /usr/local/bin +ENV FABRIC_CFG_PATH /etc/hyperledger/fabric +VOLUME /etc/hyperledger/fabric +VOLUME /var/hyperledger +COPY --from=extractor /extract/$SAMPLECONFIG/sampleconfig/msp ${FABRIC_CFG_PATH}/msp +COPY --from=extractor /extract/$SAMPLECONFIG/sampleconfig/core.yaml ${FABRIC_CFG_PATH} +EXPOSE 7051 +CMD ["peer","node","start"] diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..e07d238 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,3 @@ +@Library('DCCSCR@master') _ +dccscrPipeline( version: "v0.1.0" ) + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..f6a1569 --- /dev/null +++ b/Makefile @@ -0,0 +1,326 @@ +# Copyright IBM Corp All Rights Reserved. +# Copyright London Stock Exchange Group All Rights Reserved. +# +# SPDX-License-Identifier: Apache-2.0 +# +# ------------------------------------------------------------- +# This makefile defines the following targets +# +# - all (default) - builds all targets and runs all non-integration tests/checks +# - basic-checks - performs basic checks like license, spelling, trailing spaces and linter +# - check-deps - check for vendored dependencies that are no longer used +# - checks - runs all non-integration tests/checks +# - clean-all - superset of 'clean' that also removes persistent state +# - clean - cleans the build area +# - configtxgen - builds a native configtxgen binary +# - configtxlator - builds a native configtxlator binary +# - cryptogen - builds a native cryptogen binary +# - desk-check - runs linters and verify to test changed packages +# - dist-clean - clean release packages for all target platforms +# - docker[-clean] - ensures all docker images are available[/cleaned] +# - docker-list - generates a list of docker images that 'make docker' produces +# - docker-tag-latest - re-tags the images made by 'make docker' with the :latest tag +# - docker-tag-stable - re-tags the images made by 'make docker' with the :stable tag +# - docker-thirdparty - pulls thirdparty images (kafka,zookeeper,couchdb) +# - docs - builds the documentation in html format +# - gotools - installs go tools like golint +# - help-docs - generate the command reference docs +# - idemixgen - builds a native idemixgen binary +# - integration-test-prereqs - setup prerequisites for integration tests +# - integration-test - runs the integration tests +# - license - checks go source files for Apache license header +# - linter - runs all code checks +# - native - ensures all native binaries are available +# - orderer - builds a native fabric orderer binary +# - orderer-docker[-clean] - ensures the orderer container is available[/cleaned] +# - peer - builds a native fabric peer binary +# - peer-docker[-clean] - ensures the peer container is available[/cleaned] +# - profile - runs unit tests for all packages in coverprofile mode (slow) +# - protos - generate all protobuf artifacts based on .proto files +# - publish-images - publishes release docker images to nexus3 or docker hub. +# - release-all - builds release packages for all target platforms +# - release - builds release packages for the host platform +# - tools-docker[-clean] - ensures the tools container is available[/cleaned] +# - unit-test-clean - cleans unit test state (particularly from docker) +# - unit-test - runs the go-test based unit tests +# - verify - runs unit tests for only the changed package tree + +ALPINE_VER ?= 3.12 +BASE_VERSION = 2.3.0 + +# 3rd party image version +# These versions are also set in the runners in ./integration/runners/ +COUCHDB_VER ?= 3.1 +KAFKA_VER ?= 5.3.1 +ZOOKEEPER_VER ?= 5.3.1 + +# Disable implicit rules +.SUFFIXES: +MAKEFLAGS += --no-builtin-rules + +BUILD_DIR ?= build + +EXTRA_VERSION ?= $(shell git rev-parse --short HEAD) +PROJECT_VERSION=$(BASE_VERSION)-snapshot-$(EXTRA_VERSION) + +# TWO_DIGIT_VERSION is derived, e.g. "2.0", especially useful as a local tag +# for two digit references to most recent baseos and ccenv patch releases +TWO_DIGIT_VERSION = $(shell echo $(BASE_VERSION) | cut -d '.' -f 1,2) + +PKGNAME = github.com/hyperledger/fabric +ARCH=$(shell go env GOARCH) +MARCH=$(shell go env GOOS)-$(shell go env GOARCH) + +# defined in common/metadata/metadata.go +METADATA_VAR = Version=$(BASE_VERSION) +METADATA_VAR += CommitSHA=$(EXTRA_VERSION) +METADATA_VAR += BaseDockerLabel=$(BASE_DOCKER_LABEL) +METADATA_VAR += DockerNamespace=$(DOCKER_NS) + +GO_VER = 1.14.4 +GO_TAGS ?= + +RELEASE_EXES = orderer $(TOOLS_EXES) +RELEASE_IMAGES = baseos ccenv orderer peer tools +RELEASE_PLATFORMS = darwin-amd64 linux-amd64 windows-amd64 +TOOLS_EXES = configtxgen configtxlator cryptogen discover idemixgen peer + +pkgmap.configtxgen := $(PKGNAME)/cmd/configtxgen +pkgmap.configtxlator := $(PKGNAME)/cmd/configtxlator +pkgmap.cryptogen := $(PKGNAME)/cmd/cryptogen +pkgmap.discover := $(PKGNAME)/cmd/discover +pkgmap.idemixgen := $(PKGNAME)/cmd/idemixgen +pkgmap.orderer := $(PKGNAME)/cmd/orderer +pkgmap.peer := $(PKGNAME)/cmd/peer + +.DEFAULT_GOAL := all + +include docker-env.mk +include gotools.mk + +.PHONY: all +all: check-go-version native docker checks + +.PHONY: checks +checks: basic-checks unit-test integration-test + +.PHONY: basic-checks +basic-checks: check-go-version license spelling references trailing-spaces linter check-metrics-doc filename-spaces + +.PHONY: desk-checks +desk-check: checks verify + +.PHONY: help-docs +help-docs: native + @scripts/generateHelpDocs.sh + +.PHONY: spelling +spelling: gotool.misspell + @scripts/check_spelling.sh + +.PHONY: references +references: + @scripts/check_references.sh + +.PHONY: license +license: + @scripts/check_license.sh + +.PHONY: trailing-spaces +trailing-spaces: + @scripts/check_trailingspaces.sh + +.PHONY: gotools +gotools: gotools-install + +.PHONY: check-go-version +check-go-version: + @scripts/check_go_version.sh $(GO_VER) + +.PHONY: integration-test +integration-test: integration-test-prereqs + ./scripts/run-integration-tests.sh + +.PHONY: integration-test-prereqs +integration-test-prereqs: gotool.ginkgo baseos-docker ccenv-docker docker-thirdparty + +.PHONY: unit-test +unit-test: unit-test-clean docker-thirdparty-couchdb + ./scripts/run-unit-tests.sh + +.PHONY: unit-tests +unit-tests: unit-test + +# Pull thirdparty docker images based on the latest baseimage release version +# Also pull ccenv-1.4 for compatibility test to ensure pre-2.0 installed chaincodes +# can be built by a peer configured to use the ccenv-1.4 as the builder image. +.PHONY: docker-thirdparty +docker-thirdparty: docker-thirdparty-couchdb + docker pull confluentinc/cp-zookeeper:${ZOOKEEPER_VER} + docker pull confluentinc/cp-kafka:${KAFKA_VER} + docker pull hyperledger/fabric-ccenv:1.4 + +.PHONY: docker-thirdparty-couchdb +docker-thirdparty-couchdb: + docker pull couchdb:${COUCHDB_VER} + +.PHONY: verify +verify: export JOB_TYPE=VERIFY +verify: unit-test + +.PHONY: profile +profile: export JOB_TYPE=PROFILE +profile: unit-test + +.PHONY: linter +linter: check-deps gotool.goimports + @echo "LINT: Running code checks.." + ./scripts/golinter.sh + +.PHONY: check-deps +check-deps: + @echo "DEP: Checking for dependency issues.." + ./scripts/check_deps.sh + +.PHONY: check-metrics-docs +check-metrics-doc: + @echo "METRICS: Checking for outdated reference documentation.." + ./scripts/metrics_doc.sh check + +.PHONY: generate-metrics-docs +generate-metrics-doc: + @echo "Generating metrics reference documentation..." + ./scripts/metrics_doc.sh generate + +.PHONY: protos +protos: gotool.protoc-gen-go + @echo "Compiling non-API protos..." + ./scripts/compile_protos.sh + +.PHONY: native +native: $(RELEASE_EXES) + +.PHONY: $(RELEASE_EXES) +$(RELEASE_EXES): %: $(BUILD_DIR)/bin/% + +$(BUILD_DIR)/bin/%: GO_LDFLAGS = $(METADATA_VAR:%=-X $(PKGNAME)/common/metadata.%) +$(BUILD_DIR)/bin/%: + @echo "Building $@" + @mkdir -p $(@D) + GOBIN=$(abspath $(@D)) go install -tags "$(GO_TAGS)" -ldflags "$(GO_LDFLAGS)" $(pkgmap.$(@F)) + @touch $@ + +.PHONY: docker +docker: $(RELEASE_IMAGES:%=%-docker) + +.PHONY: $(RELEASE_IMAGES:%=%-docker) +$(RELEASE_IMAGES:%=%-docker): %-docker: $(BUILD_DIR)/images/%/$(DUMMY) + +$(BUILD_DIR)/images/ccenv/$(DUMMY): BUILD_CONTEXT=images/ccenv +$(BUILD_DIR)/images/baseos/$(DUMMY): BUILD_CONTEXT=images/baseos +$(BUILD_DIR)/images/peer/$(DUMMY): BUILD_ARGS=--build-arg GO_TAGS=${GO_TAGS} +$(BUILD_DIR)/images/orderer/$(DUMMY): BUILD_ARGS=--build-arg GO_TAGS=${GO_TAGS} + +$(BUILD_DIR)/images/%/$(DUMMY): + @echo "Building Docker image $(DOCKER_NS)/fabric-$*" + @mkdir -p $(@D) + $(DBUILD) -f images/$*/Dockerfile \ + --build-arg GO_VER=$(GO_VER) \ + --build-arg ALPINE_VER=$(ALPINE_VER) \ + $(BUILD_ARGS) \ + -t $(DOCKER_NS)/fabric-$* ./$(BUILD_CONTEXT) + docker tag $(DOCKER_NS)/fabric-$* $(DOCKER_NS)/fabric-$*:$(BASE_VERSION) + docker tag $(DOCKER_NS)/fabric-$* $(DOCKER_NS)/fabric-$*:$(TWO_DIGIT_VERSION) + docker tag $(DOCKER_NS)/fabric-$* $(DOCKER_NS)/fabric-$*:$(DOCKER_TAG) + @touch $@ + +# builds release packages for the host platform +.PHONY: release +release: check-go-version $(MARCH:%=release/%) + +# builds release packages for all target platforms +.PHONY: release-all +release-all: check-go-version $(RELEASE_PLATFORMS:%=release/%) + +.PHONY: $(RELEASE_PLATFORMS:%=release/%) +$(RELEASE_PLATFORMS:%=release/%): GO_LDFLAGS = $(METADATA_VAR:%=-X $(PKGNAME)/common/metadata.%) +$(RELEASE_PLATFORMS:%=release/%): release/%: $(foreach exe,$(RELEASE_EXES),release/%/bin/$(exe)) + +# explicit targets for all platform executables +$(foreach platform, $(RELEASE_PLATFORMS), $(RELEASE_EXES:%=release/$(platform)/bin/%)): + $(eval platform = $(patsubst release/%/bin,%,$(@D))) + $(eval GOOS = $(word 1,$(subst -, ,$(platform)))) + $(eval GOARCH = $(word 2,$(subst -, ,$(platform)))) + @echo "Building $@ for $(GOOS)-$(GOARCH)" + mkdir -p $(@D) + GOOS=$(GOOS) GOARCH=$(GOARCH) go build -o $@ -tags "$(GO_TAGS)" -ldflags "$(GO_LDFLAGS)" $(pkgmap.$(@F)) + +.PHONY: dist +dist: dist-clean dist/$(MARCH) + +.PHONY: dist-all +dist-all: dist-clean $(RELEASE_PLATFORMS:%=dist/%) +dist/%: release/% + mkdir -p release/$(@F)/config + cp -r sampleconfig/*.yaml release/$(@F)/config + cd release/$(@F) && tar -czvf hyperledger-fabric-$(@F).$(PROJECT_VERSION).tar.gz * + +.PHONY: docker-list +docker-list: $(RELEASE_IMAGES:%=%-docker-list) +%-docker-list: + @echo $(DOCKER_NS)/fabric-$*:$(DOCKER_TAG) + +.PHONY: docker-clean +docker-clean: $(RELEASE_IMAGES:%=%-docker-clean) +%-docker-clean: + -@for image in "$$(docker images --quiet --filter=reference='$(DOCKER_NS)/fabric-$*:$(DOCKER_TAG)')"; do \ + [ -z "$$image" ] || docker rmi -f $$image; \ + done + -@rm -rf $(BUILD_DIR)/images/$* || true + +.PHONY: docker-tag-latest +docker-tag-latest: $(RELEASE_IMAGES:%=%-docker-tag-latest) +%-docker-tag-latest: + docker tag $(DOCKER_NS)/fabric-$*:$(DOCKER_TAG) $(DOCKER_NS)/fabric-$*:latest + +.PHONY: docker-tag-stable +docker-tag-stable: $(RELEASE_IMAGES:%=%-docker-tag-stable) +%-docker-tag-stable: + docker tag $(DOCKER_NS)/fabric-$*:$(DOCKER_TAG) $(DOCKER_NS)/fabric-$*:stable + +.PHONY: publish-images +publish-images: $(RELEASE_IMAGES:%=%-publish-images) +%-publish-images: + @docker login $(DOCKER_HUB_USERNAME) $(DOCKER_HUB_PASSWORD) + @docker push $(DOCKER_NS)/fabric-$*:$(PROJECT_VERSION) + +.PHONY: clean +clean: docker-clean unit-test-clean release-clean + -@rm -rf $(BUILD_DIR) + +.PHONY: clean-all +clean-all: clean gotools-clean dist-clean + -@rm -rf /var/hyperledger/* + -@rm -rf docs/build/ + +.PHONY: dist-clean +dist-clean: + -@for platform in $(RELEASE_PLATFORMS) ""; do \ + [ -z "$$platform" ] || rm -rf release/$${platform}/hyperledger-fabric-$${platform}.$(PROJECT_VERSION).tar.gz; \ + done + +.PHONY: release-clean +release-clean: $(RELEASE_PLATFORMS:%=%-release-clean) +%-release-clean: + -@rm -rf release/$* + +.PHONY: unit-test-clean +unit-test-clean: + +.PHONY: filename-spaces +spaces: + @scripts/check_file_name_spaces.sh + +.PHONY: docs +docs: + @docker run --rm -v $$(pwd):/docs n42org/tox:3.4.0 sh -c 'cd /docs && tox -e docs' \ No newline at end of file diff --git a/download.json b/download.json new file mode 100644 index 0000000..bb9d69b --- /dev/null +++ b/download.json @@ -0,0 +1,20 @@ +{ + "resources": [ + { + "url": "https://github.com/hyperledger/fabric/releases/download/v2.2.1/hyperledger-fabric-linux-amd64-2.2.1.tar.gz", + "filename": "hyperledger-fabric-linux-amd64-2.2.1.tar.gz", + "validation": { + "type": "sha256", + "value": "4b14f7c05f99b2408bb7357cbef0ead76824ffca6e5247ab9efc12b2cc6cd296" + } + }, + { + "url": "https://github.com/hyperledger/fabric/archive/v2.2.1.zip", + "filename": "v2.2.1.zip", + "validation": { + "type": "sha256", + "value": "7ba9c7f280cd600f99dcaccbeaae4571b1f22a4b0443ef95ba9fb3b88ccd83c5" + } + } + ] +} -- GitLab From 716221df3410beaa1ebe5738752fbb871327365b Mon Sep 17 00:00:00 2001 From: "khang.lieu@ibm.com" Date: Wed, 2 Dec 2020 18:10:38 +0000 Subject: [PATCH 2/9] Delete Makefile --- Makefile | 326 ------------------------------------------------------- 1 file changed, 326 deletions(-) delete mode 100644 Makefile diff --git a/Makefile b/Makefile deleted file mode 100644 index f6a1569..0000000 --- a/Makefile +++ /dev/null @@ -1,326 +0,0 @@ -# Copyright IBM Corp All Rights Reserved. -# Copyright London Stock Exchange Group All Rights Reserved. -# -# SPDX-License-Identifier: Apache-2.0 -# -# ------------------------------------------------------------- -# This makefile defines the following targets -# -# - all (default) - builds all targets and runs all non-integration tests/checks -# - basic-checks - performs basic checks like license, spelling, trailing spaces and linter -# - check-deps - check for vendored dependencies that are no longer used -# - checks - runs all non-integration tests/checks -# - clean-all - superset of 'clean' that also removes persistent state -# - clean - cleans the build area -# - configtxgen - builds a native configtxgen binary -# - configtxlator - builds a native configtxlator binary -# - cryptogen - builds a native cryptogen binary -# - desk-check - runs linters and verify to test changed packages -# - dist-clean - clean release packages for all target platforms -# - docker[-clean] - ensures all docker images are available[/cleaned] -# - docker-list - generates a list of docker images that 'make docker' produces -# - docker-tag-latest - re-tags the images made by 'make docker' with the :latest tag -# - docker-tag-stable - re-tags the images made by 'make docker' with the :stable tag -# - docker-thirdparty - pulls thirdparty images (kafka,zookeeper,couchdb) -# - docs - builds the documentation in html format -# - gotools - installs go tools like golint -# - help-docs - generate the command reference docs -# - idemixgen - builds a native idemixgen binary -# - integration-test-prereqs - setup prerequisites for integration tests -# - integration-test - runs the integration tests -# - license - checks go source files for Apache license header -# - linter - runs all code checks -# - native - ensures all native binaries are available -# - orderer - builds a native fabric orderer binary -# - orderer-docker[-clean] - ensures the orderer container is available[/cleaned] -# - peer - builds a native fabric peer binary -# - peer-docker[-clean] - ensures the peer container is available[/cleaned] -# - profile - runs unit tests for all packages in coverprofile mode (slow) -# - protos - generate all protobuf artifacts based on .proto files -# - publish-images - publishes release docker images to nexus3 or docker hub. -# - release-all - builds release packages for all target platforms -# - release - builds release packages for the host platform -# - tools-docker[-clean] - ensures the tools container is available[/cleaned] -# - unit-test-clean - cleans unit test state (particularly from docker) -# - unit-test - runs the go-test based unit tests -# - verify - runs unit tests for only the changed package tree - -ALPINE_VER ?= 3.12 -BASE_VERSION = 2.3.0 - -# 3rd party image version -# These versions are also set in the runners in ./integration/runners/ -COUCHDB_VER ?= 3.1 -KAFKA_VER ?= 5.3.1 -ZOOKEEPER_VER ?= 5.3.1 - -# Disable implicit rules -.SUFFIXES: -MAKEFLAGS += --no-builtin-rules - -BUILD_DIR ?= build - -EXTRA_VERSION ?= $(shell git rev-parse --short HEAD) -PROJECT_VERSION=$(BASE_VERSION)-snapshot-$(EXTRA_VERSION) - -# TWO_DIGIT_VERSION is derived, e.g. "2.0", especially useful as a local tag -# for two digit references to most recent baseos and ccenv patch releases -TWO_DIGIT_VERSION = $(shell echo $(BASE_VERSION) | cut -d '.' -f 1,2) - -PKGNAME = github.com/hyperledger/fabric -ARCH=$(shell go env GOARCH) -MARCH=$(shell go env GOOS)-$(shell go env GOARCH) - -# defined in common/metadata/metadata.go -METADATA_VAR = Version=$(BASE_VERSION) -METADATA_VAR += CommitSHA=$(EXTRA_VERSION) -METADATA_VAR += BaseDockerLabel=$(BASE_DOCKER_LABEL) -METADATA_VAR += DockerNamespace=$(DOCKER_NS) - -GO_VER = 1.14.4 -GO_TAGS ?= - -RELEASE_EXES = orderer $(TOOLS_EXES) -RELEASE_IMAGES = baseos ccenv orderer peer tools -RELEASE_PLATFORMS = darwin-amd64 linux-amd64 windows-amd64 -TOOLS_EXES = configtxgen configtxlator cryptogen discover idemixgen peer - -pkgmap.configtxgen := $(PKGNAME)/cmd/configtxgen -pkgmap.configtxlator := $(PKGNAME)/cmd/configtxlator -pkgmap.cryptogen := $(PKGNAME)/cmd/cryptogen -pkgmap.discover := $(PKGNAME)/cmd/discover -pkgmap.idemixgen := $(PKGNAME)/cmd/idemixgen -pkgmap.orderer := $(PKGNAME)/cmd/orderer -pkgmap.peer := $(PKGNAME)/cmd/peer - -.DEFAULT_GOAL := all - -include docker-env.mk -include gotools.mk - -.PHONY: all -all: check-go-version native docker checks - -.PHONY: checks -checks: basic-checks unit-test integration-test - -.PHONY: basic-checks -basic-checks: check-go-version license spelling references trailing-spaces linter check-metrics-doc filename-spaces - -.PHONY: desk-checks -desk-check: checks verify - -.PHONY: help-docs -help-docs: native - @scripts/generateHelpDocs.sh - -.PHONY: spelling -spelling: gotool.misspell - @scripts/check_spelling.sh - -.PHONY: references -references: - @scripts/check_references.sh - -.PHONY: license -license: - @scripts/check_license.sh - -.PHONY: trailing-spaces -trailing-spaces: - @scripts/check_trailingspaces.sh - -.PHONY: gotools -gotools: gotools-install - -.PHONY: check-go-version -check-go-version: - @scripts/check_go_version.sh $(GO_VER) - -.PHONY: integration-test -integration-test: integration-test-prereqs - ./scripts/run-integration-tests.sh - -.PHONY: integration-test-prereqs -integration-test-prereqs: gotool.ginkgo baseos-docker ccenv-docker docker-thirdparty - -.PHONY: unit-test -unit-test: unit-test-clean docker-thirdparty-couchdb - ./scripts/run-unit-tests.sh - -.PHONY: unit-tests -unit-tests: unit-test - -# Pull thirdparty docker images based on the latest baseimage release version -# Also pull ccenv-1.4 for compatibility test to ensure pre-2.0 installed chaincodes -# can be built by a peer configured to use the ccenv-1.4 as the builder image. -.PHONY: docker-thirdparty -docker-thirdparty: docker-thirdparty-couchdb - docker pull confluentinc/cp-zookeeper:${ZOOKEEPER_VER} - docker pull confluentinc/cp-kafka:${KAFKA_VER} - docker pull hyperledger/fabric-ccenv:1.4 - -.PHONY: docker-thirdparty-couchdb -docker-thirdparty-couchdb: - docker pull couchdb:${COUCHDB_VER} - -.PHONY: verify -verify: export JOB_TYPE=VERIFY -verify: unit-test - -.PHONY: profile -profile: export JOB_TYPE=PROFILE -profile: unit-test - -.PHONY: linter -linter: check-deps gotool.goimports - @echo "LINT: Running code checks.." - ./scripts/golinter.sh - -.PHONY: check-deps -check-deps: - @echo "DEP: Checking for dependency issues.." - ./scripts/check_deps.sh - -.PHONY: check-metrics-docs -check-metrics-doc: - @echo "METRICS: Checking for outdated reference documentation.." - ./scripts/metrics_doc.sh check - -.PHONY: generate-metrics-docs -generate-metrics-doc: - @echo "Generating metrics reference documentation..." - ./scripts/metrics_doc.sh generate - -.PHONY: protos -protos: gotool.protoc-gen-go - @echo "Compiling non-API protos..." - ./scripts/compile_protos.sh - -.PHONY: native -native: $(RELEASE_EXES) - -.PHONY: $(RELEASE_EXES) -$(RELEASE_EXES): %: $(BUILD_DIR)/bin/% - -$(BUILD_DIR)/bin/%: GO_LDFLAGS = $(METADATA_VAR:%=-X $(PKGNAME)/common/metadata.%) -$(BUILD_DIR)/bin/%: - @echo "Building $@" - @mkdir -p $(@D) - GOBIN=$(abspath $(@D)) go install -tags "$(GO_TAGS)" -ldflags "$(GO_LDFLAGS)" $(pkgmap.$(@F)) - @touch $@ - -.PHONY: docker -docker: $(RELEASE_IMAGES:%=%-docker) - -.PHONY: $(RELEASE_IMAGES:%=%-docker) -$(RELEASE_IMAGES:%=%-docker): %-docker: $(BUILD_DIR)/images/%/$(DUMMY) - -$(BUILD_DIR)/images/ccenv/$(DUMMY): BUILD_CONTEXT=images/ccenv -$(BUILD_DIR)/images/baseos/$(DUMMY): BUILD_CONTEXT=images/baseos -$(BUILD_DIR)/images/peer/$(DUMMY): BUILD_ARGS=--build-arg GO_TAGS=${GO_TAGS} -$(BUILD_DIR)/images/orderer/$(DUMMY): BUILD_ARGS=--build-arg GO_TAGS=${GO_TAGS} - -$(BUILD_DIR)/images/%/$(DUMMY): - @echo "Building Docker image $(DOCKER_NS)/fabric-$*" - @mkdir -p $(@D) - $(DBUILD) -f images/$*/Dockerfile \ - --build-arg GO_VER=$(GO_VER) \ - --build-arg ALPINE_VER=$(ALPINE_VER) \ - $(BUILD_ARGS) \ - -t $(DOCKER_NS)/fabric-$* ./$(BUILD_CONTEXT) - docker tag $(DOCKER_NS)/fabric-$* $(DOCKER_NS)/fabric-$*:$(BASE_VERSION) - docker tag $(DOCKER_NS)/fabric-$* $(DOCKER_NS)/fabric-$*:$(TWO_DIGIT_VERSION) - docker tag $(DOCKER_NS)/fabric-$* $(DOCKER_NS)/fabric-$*:$(DOCKER_TAG) - @touch $@ - -# builds release packages for the host platform -.PHONY: release -release: check-go-version $(MARCH:%=release/%) - -# builds release packages for all target platforms -.PHONY: release-all -release-all: check-go-version $(RELEASE_PLATFORMS:%=release/%) - -.PHONY: $(RELEASE_PLATFORMS:%=release/%) -$(RELEASE_PLATFORMS:%=release/%): GO_LDFLAGS = $(METADATA_VAR:%=-X $(PKGNAME)/common/metadata.%) -$(RELEASE_PLATFORMS:%=release/%): release/%: $(foreach exe,$(RELEASE_EXES),release/%/bin/$(exe)) - -# explicit targets for all platform executables -$(foreach platform, $(RELEASE_PLATFORMS), $(RELEASE_EXES:%=release/$(platform)/bin/%)): - $(eval platform = $(patsubst release/%/bin,%,$(@D))) - $(eval GOOS = $(word 1,$(subst -, ,$(platform)))) - $(eval GOARCH = $(word 2,$(subst -, ,$(platform)))) - @echo "Building $@ for $(GOOS)-$(GOARCH)" - mkdir -p $(@D) - GOOS=$(GOOS) GOARCH=$(GOARCH) go build -o $@ -tags "$(GO_TAGS)" -ldflags "$(GO_LDFLAGS)" $(pkgmap.$(@F)) - -.PHONY: dist -dist: dist-clean dist/$(MARCH) - -.PHONY: dist-all -dist-all: dist-clean $(RELEASE_PLATFORMS:%=dist/%) -dist/%: release/% - mkdir -p release/$(@F)/config - cp -r sampleconfig/*.yaml release/$(@F)/config - cd release/$(@F) && tar -czvf hyperledger-fabric-$(@F).$(PROJECT_VERSION).tar.gz * - -.PHONY: docker-list -docker-list: $(RELEASE_IMAGES:%=%-docker-list) -%-docker-list: - @echo $(DOCKER_NS)/fabric-$*:$(DOCKER_TAG) - -.PHONY: docker-clean -docker-clean: $(RELEASE_IMAGES:%=%-docker-clean) -%-docker-clean: - -@for image in "$$(docker images --quiet --filter=reference='$(DOCKER_NS)/fabric-$*:$(DOCKER_TAG)')"; do \ - [ -z "$$image" ] || docker rmi -f $$image; \ - done - -@rm -rf $(BUILD_DIR)/images/$* || true - -.PHONY: docker-tag-latest -docker-tag-latest: $(RELEASE_IMAGES:%=%-docker-tag-latest) -%-docker-tag-latest: - docker tag $(DOCKER_NS)/fabric-$*:$(DOCKER_TAG) $(DOCKER_NS)/fabric-$*:latest - -.PHONY: docker-tag-stable -docker-tag-stable: $(RELEASE_IMAGES:%=%-docker-tag-stable) -%-docker-tag-stable: - docker tag $(DOCKER_NS)/fabric-$*:$(DOCKER_TAG) $(DOCKER_NS)/fabric-$*:stable - -.PHONY: publish-images -publish-images: $(RELEASE_IMAGES:%=%-publish-images) -%-publish-images: - @docker login $(DOCKER_HUB_USERNAME) $(DOCKER_HUB_PASSWORD) - @docker push $(DOCKER_NS)/fabric-$*:$(PROJECT_VERSION) - -.PHONY: clean -clean: docker-clean unit-test-clean release-clean - -@rm -rf $(BUILD_DIR) - -.PHONY: clean-all -clean-all: clean gotools-clean dist-clean - -@rm -rf /var/hyperledger/* - -@rm -rf docs/build/ - -.PHONY: dist-clean -dist-clean: - -@for platform in $(RELEASE_PLATFORMS) ""; do \ - [ -z "$$platform" ] || rm -rf release/$${platform}/hyperledger-fabric-$${platform}.$(PROJECT_VERSION).tar.gz; \ - done - -.PHONY: release-clean -release-clean: $(RELEASE_PLATFORMS:%=%-release-clean) -%-release-clean: - -@rm -rf release/$* - -.PHONY: unit-test-clean -unit-test-clean: - -.PHONY: filename-spaces -spaces: - @scripts/check_file_name_spaces.sh - -.PHONY: docs -docs: - @docker run --rm -v $$(pwd):/docs n42org/tox:3.4.0 sh -c 'cd /docs && tox -e docs' \ No newline at end of file -- GitLab From ccbaada44bbc53553b7e0d1d268bcadf96e9b872 Mon Sep 17 00:00:00 2001 From: "khang.lieu@ibm.com" Date: Wed, 2 Dec 2020 18:12:08 +0000 Subject: [PATCH 3/9] Add License File --- LICENSE | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6204d2a --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2020 Ironbank Containers / IBM / hyperledger + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. -- GitLab From 96e219b974e04ac68a5fd14bb4ef833ee9ef1296 Mon Sep 17 00:00:00 2001 From: ironbank-bot Date: Thu, 10 Dec 2020 19:51:35 +0000 Subject: [PATCH 4/9] Migrate to hardening_manifest.yaml --- Jenkinsfile | 3 -- download.json | 20 ------------- hardening_manifest.yaml | 63 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+), 23 deletions(-) delete mode 100644 Jenkinsfile delete mode 100644 download.json create mode 100644 hardening_manifest.yaml diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index e07d238..0000000 --- a/Jenkinsfile +++ /dev/null @@ -1,3 +0,0 @@ -@Library('DCCSCR@master') _ -dccscrPipeline( version: "v0.1.0" ) - diff --git a/download.json b/download.json deleted file mode 100644 index bb9d69b..0000000 --- a/download.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "resources": [ - { - "url": "https://github.com/hyperledger/fabric/releases/download/v2.2.1/hyperledger-fabric-linux-amd64-2.2.1.tar.gz", - "filename": "hyperledger-fabric-linux-amd64-2.2.1.tar.gz", - "validation": { - "type": "sha256", - "value": "4b14f7c05f99b2408bb7357cbef0ead76824ffca6e5247ab9efc12b2cc6cd296" - } - }, - { - "url": "https://github.com/hyperledger/fabric/archive/v2.2.1.zip", - "filename": "v2.2.1.zip", - "validation": { - "type": "sha256", - "value": "7ba9c7f280cd600f99dcaccbeaae4571b1f22a4b0443ef95ba9fb3b88ccd83c5" - } - } - ] -} diff --git a/hardening_manifest.yaml b/hardening_manifest.yaml new file mode 100644 index 0000000..5a39bc4 --- /dev/null +++ b/hardening_manifest.yaml @@ -0,0 +1,63 @@ +--- +apiVersion: v1 + +# The repository name in registry1, excluding /ironbank/ +name: "ibm/hyperledger/fabric-peer" + +# List of tags to push for the repository in registry1 +# The most specific version should be the first tag and will be shown +# on ironbank.dsop.io +tags: +- "v0.1.0" +- "latest" + +# Build args passed to Dockerfile ARGs +args: + BASE_IMAGE: "redhat/ubi/ubi8" + BASE_TAG: "8.2" + +# Docker image labels +labels: + org.opencontainers.image.title: "fabric-peer" + ## Human-readable description of the software packaged in the image + # org.opencontainers.image.description: "FIXME" + ## License(s) under which contained software is distributed + # org.opencontainers.image.licenses: "FIXME" + ## URL to find more information on the image + # org.opencontainers.image.url: "FIXME" + ## Name of the distributing entity, organization or individual + # org.opencontainers.image.vendor: "FIXME" + org.opencontainers.image.version: "v0.1.0" + ## Keywords to help with search (ex. "cicd,gitops,golang") + # mil.dso.ironbank.image.keywords: "FIXME" + ## This value can be "opensource" or "commercial" + # mil.dso.ironbank.image.type: "FIXME" + ## Product the image belongs to for grouping multiple images + # mil.dso.ironbank.product.name: "FIXME" + +# List of resources to make available to the offline build context +resources: +- filename: hyperledger-fabric-linux-amd64-2.2.1.tar.gz + url: https://github.com/hyperledger/fabric/releases/download/v2.2.1/hyperledger-fabric-linux-amd64-2.2.1.tar.gz + validation: + type: sha256 + value: 4b14f7c05f99b2408bb7357cbef0ead76824ffca6e5247ab9efc12b2cc6cd296 +- filename: v2.2.1.zip + url: https://github.com/hyperledger/fabric/archive/v2.2.1.zip + validation: + type: sha256 + value: 7ba9c7f280cd600f99dcaccbeaae4571b1f22a4b0443ef95ba9fb3b88ccd83c5 + +# List of project maintainers +# FIXME: Fill in the following details for the current container owner in the whitelist +# FIXME: Include any other vendor information if applicable +maintainers: +- email: "khang.lieu@ibm.com" +# # The name of the current container owner +# name: "FIXME" +# # The gitlab username of the current container owner +# username: "FIXME" +# cht_member: true # FIXME: Uncomment if the maintainer is a member of CHT +# - name: "FIXME" +# username: "FIXME" +# email: "FIXME" -- GitLab From a07cdc074d5e2547fadfe7fdad1dc29e374af7f9 Mon Sep 17 00:00:00 2001 From: "khang.lieu@ibm.com" Date: Wed, 30 Dec 2020 21:51:43 +0000 Subject: [PATCH 5/9] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index b98fde4..d4ffb53 100755 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ ARG BASE_REGISTRY=registry1.dsop.io ARG BASE_IMAGE=ironbank/redhat/ubi/ubi8 -ARG BASE_TAG=8.2 +ARG BASE_TAG=8.3 FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} AS extractor # Defining file names for binaries and sampleconfig -- GitLab From 2a47970e391c458756da7a3fcb1e90c38555c282 Mon Sep 17 00:00:00 2001 From: "khang.lieu@ibm.com" Date: Wed, 30 Dec 2020 21:53:09 +0000 Subject: [PATCH 6/9] Update hardening_manifest.yaml --- hardening_manifest.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hardening_manifest.yaml b/hardening_manifest.yaml index 5a39bc4..901c3c6 100644 --- a/hardening_manifest.yaml +++ b/hardening_manifest.yaml @@ -14,7 +14,7 @@ tags: # Build args passed to Dockerfile ARGs args: BASE_IMAGE: "redhat/ubi/ubi8" - BASE_TAG: "8.2" + BASE_TAG: "8.3" # Docker image labels labels: -- GitLab From f9111ee4ea7d8e17d4b7ddbc016e329e24e18e2a Mon Sep 17 00:00:00 2001 From: "khang.lieu@ibm.com" Date: Wed, 30 Dec 2020 21:59:00 +0000 Subject: [PATCH 7/9] Updated missing variables in hardening_manifest.yaml --- hardening_manifest.yaml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/hardening_manifest.yaml b/hardening_manifest.yaml index 901c3c6..857631b 100644 --- a/hardening_manifest.yaml +++ b/hardening_manifest.yaml @@ -20,20 +20,20 @@ args: labels: org.opencontainers.image.title: "fabric-peer" ## Human-readable description of the software packaged in the image - # org.opencontainers.image.description: "FIXME" + org.opencontainers.image.description: "Fabric Peer is a Peer for Hyperledger Fabric" ## License(s) under which contained software is distributed - # org.opencontainers.image.licenses: "FIXME" + org.opencontainers.image.licenses: "Apache-2.0" ## URL to find more information on the image - # org.opencontainers.image.url: "FIXME" + org.opencontainers.image.url: "https://github.com/hyperledger/fabric" ## Name of the distributing entity, organization or individual - # org.opencontainers.image.vendor: "FIXME" + org.opencontainers.image.vendor: "IBM" org.opencontainers.image.version: "v0.1.0" ## Keywords to help with search (ex. "cicd,gitops,golang") - # mil.dso.ironbank.image.keywords: "FIXME" + mil.dso.ironbank.image.keywords: "peer,fabric" ## This value can be "opensource" or "commercial" - # mil.dso.ironbank.image.type: "FIXME" + mil.dso.ironbank.image.type: "opensource" ## Product the image belongs to for grouping multiple images - # mil.dso.ironbank.product.name: "FIXME" + mil.dso.ironbank.product.name: "ibm" # List of resources to make available to the offline build context resources: @@ -53,6 +53,10 @@ resources: # FIXME: Include any other vendor information if applicable maintainers: - email: "khang.lieu@ibm.com" + # The name of the current container owner + name: "Khang Lieu" + # The gitlab username of the current container owner + username: "khang.lieu" # # The name of the current container owner # name: "FIXME" # # The gitlab username of the current container owner -- GitLab From 7e8817982445d54fc1772ef3afa04a5a9d09fdac Mon Sep 17 00:00:00 2001 From: "khang.lieu@ibm.com" Date: Wed, 30 Dec 2020 22:08:05 +0000 Subject: [PATCH 8/9] Changed v2.2.1.zip to fabric-2.2.1.zip --- hardening_manifest.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hardening_manifest.yaml b/hardening_manifest.yaml index 857631b..c6eeaa9 100644 --- a/hardening_manifest.yaml +++ b/hardening_manifest.yaml @@ -42,7 +42,7 @@ resources: validation: type: sha256 value: 4b14f7c05f99b2408bb7357cbef0ead76824ffca6e5247ab9efc12b2cc6cd296 -- filename: v2.2.1.zip +- filename: fabric-2.2.1.zip url: https://github.com/hyperledger/fabric/archive/v2.2.1.zip validation: type: sha256 -- GitLab From 6dc02778d9f8ead172715e585d7535aa5cde4721 Mon Sep 17 00:00:00 2001 From: Pradip Pathak Date: Wed, 6 Jan 2021 16:31:37 +0000 Subject: [PATCH 9/9] Update hardening_manifest.yaml --- hardening_manifest.yaml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/hardening_manifest.yaml b/hardening_manifest.yaml index c6eeaa9..98e4b3b 100644 --- a/hardening_manifest.yaml +++ b/hardening_manifest.yaml @@ -49,19 +49,14 @@ resources: value: 7ba9c7f280cd600f99dcaccbeaae4571b1f22a4b0443ef95ba9fb3b88ccd83c5 # List of project maintainers -# FIXME: Fill in the following details for the current container owner in the whitelist -# FIXME: Include any other vendor information if applicable maintainers: - email: "khang.lieu@ibm.com" # The name of the current container owner name: "Khang Lieu" # The gitlab username of the current container owner username: "khang.lieu" -# # The name of the current container owner -# name: "FIXME" -# # The gitlab username of the current container owner -# username: "FIXME" -# cht_member: true # FIXME: Uncomment if the maintainer is a member of CHT -# - name: "FIXME" -# username: "FIXME" -# email: "FIXME" + # The gitlab username of the current container owner +- email: "melissari_sean@bah.com" + name: "Sean Melissari" + username: "sean.melissari" + cht_member: true -- GitLab