mirror of
https://github.com/goharbor/harbor.git
synced 2024-12-28 11:37:42 +01:00
4017e995b7
Fixes #14932 Harbor recompiles the notary v0.6.1 with go 1.15 from v2.2.0, which introduces an break change that leads to notary key not found after migration. [Root cause] Notary v0.6.1 consumed an old version dvsekhvalnov/jose2, which is not compatible with go 1.15. [References] https://github.com/dvsekhvalnov/jose2go/issues/26 https://github.com/golang/go/issues/41089 [Resolve] To resolve this issue, we have to roll back go vesrion to v1.14 for notary v0.6.1 binary and keep it until upstream have a patch release to support go 1.15 or above. [Break change] If you pushed and signed image using Harbor v2.2.0 ~ v2.2.2 and created new repository key in notary, you will encouter the same issue after migrate to v2.2.3(or above) or v2.3.1(or above) because of the go version downgrade. We will have a FAQ to help you to resovle this particular scenario. The influence path of the particular case: Harbor v2.1.0(or lower) --> [v2.2.0 ~ v2.2.2] --> v2.2.3(or above) Harbor v2.1.0(or lower) --> v2.3.0 --> v2.3.1(or above) The non influence path of the paticular case: Harbor v2.1.0(or lower) --> v2.2.3(or above) Harbor v2.1.0(or lower) --> v2.3.1(or above) [Fix in Version] Harbor v2.2.3 or above Harbor v2.3.1 or above [Note] If you're a heavy user of notary, avoid using v2.2.0, v2.2.1, v2.2.2 and v2.3.0, and use the fixed version for instead. Signed-off-by: Wang Yan <wangyan@vmware.com>
28 lines
1.2 KiB
Docker
28 lines
1.2 KiB
Docker
FROM golang:1.14.15
|
|
|
|
ARG NOTARY_VERSION
|
|
ARG MIGRATE_VERSION
|
|
RUN test -n "$NOTARY_VERSION"
|
|
RUN test -n "$MIGRATE_VERSION"
|
|
ENV NOTARYPKG github.com/theupdateframework/notary
|
|
ENV MIGRATEPKG github.com/golang-migrate/migrate
|
|
|
|
RUN git clone -b $NOTARY_VERSION https://github.com/theupdateframework/notary.git /go/src/${NOTARYPKG}
|
|
WORKDIR /go/src/${NOTARYPKG}
|
|
|
|
RUN go install -tags pkcs11 \
|
|
-ldflags "-w -X ${NOTARYPKG}/version.GitCommit=`git rev-parse --short HEAD` -X ${NOTARYPKG}/version.NotaryVersion=`cat NOTARY_VERSION`" ${NOTARYPKG}/cmd/notary-server
|
|
|
|
RUN go install -tags pkcs11 \
|
|
-ldflags "-w -X ${NOTARYPKG}/version.GitCommit=`git rev-parse --short HEAD` -X ${NOTARYPKG}/version.NotaryVersion=`cat NOTARY_VERSION`" ${NOTARYPKG}/cmd/notary-signer
|
|
RUN cp -r /go/src/${NOTARYPKG}/migrations/ /
|
|
|
|
RUN git clone -b $MIGRATE_VERSION https://github.com/golang-migrate/migrate /go/src/${MIGRATEPKG}
|
|
WORKDIR /go/src/${MIGRATEPKG}
|
|
|
|
ENV DATABASES="postgres mysql redshift cassandra spanner cockroachdb"
|
|
ENV SOURCES="file go_bindata github aws_s3 google_cloud_storage"
|
|
|
|
RUN go install -tags "$DATABASES $SOURCES" -ldflags="-X main.Version=${MIGRATE_VERSION}" ${MIGRATEPKG}/cli && mv /go/bin/cli /go/bin/migrate
|
|
|