Skip to content

Commit c163f1c

Browse files
authored
Merge pull request #3012 from RedisInsight/release/2.42.0
Release/2.42.0 to latest
2 parents 92a062e + 782ed71 commit c163f1c

File tree

783 files changed

+11679
-7743
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

783 files changed

+11679
-7743
lines changed

.circleci/build/build.Dockerfile

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
FROM node:18.18-alpine
2+
3+
# runtime args and environment variables
4+
ARG DIST=RedisInsight.tar.gz
5+
ARG NODE_ENV=production
6+
ARG RI_SEGMENT_WRITE_KEY
7+
ENV RI_SEGMENT_WRITE_KEY=${RI_SEGMENT_WRITE_KEY}
8+
ENV NODE_ENV=${NODE_ENV}
9+
ENV RI_SERVE_STATICS=true
10+
ENV RI_BUILD_TYPE='DOCKER_ON_PREMISE'
11+
ENV RI_APP_FOLDER_ABSOLUTE_PATH='/data'
12+
13+
# this resolves CVE-2023-5363
14+
# TODO: remove this line once we update to base image that doesn't have this vulnerability
15+
RUN apk update && apk upgrade --no-cache libcrypto3 libssl3
16+
17+
# set workdir
18+
WORKDIR /usr/src/app
19+
20+
# copy artifacts built in previous stage to this one
21+
ADD $DIST /usr/src/app/redisinsight
22+
RUN ls -la /usr/src/app/redisinsight
23+
24+
# folder to store local database, plugins, logs and all other files
25+
RUN mkdir -p /data && chown -R node:node /data
26+
27+
# copy the docker entry point script and make it executable
28+
COPY --chown=node:node ./docker-entry.sh ./
29+
RUN chmod +x docker-entry.sh
30+
31+
# since RI is hard-code to port 5000, expose it from the container
32+
EXPOSE 5000
33+
34+
# don't run the node process as root
35+
USER node
36+
37+
# serve the application 🚀
38+
ENTRYPOINT ["./docker-entry.sh", "node", "redisinsight/api/dist/src/main"]
File renamed without changes.

.circleci/redisstack/build_modules.sh renamed to .circleci/build/build_modules.sh

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,25 @@
22
set -e
33

44
PLATFORM=${PLATFORM:-'linux'}
5-
ELECTRON_VERSION=$(cat electron/version)
65
ARCH=${ARCH:-'x64'}
6+
LIBC=${LIBC:-''}
77
#FILENAME="RedisInsight-$PLATFORM.$VERSION.$ARCH.zip"
8-
FILENAME="RedisInsight-web-$PLATFORM.$ARCH.tar.gz"
8+
FILENAME="RedisInsight-web-$PLATFORM"
9+
if [ ! -z $LIBC ]
10+
then
11+
FILENAME="$FILENAME-$LIBC.$ARCH.tar.gz"
12+
export npm_config_target_libc="$LIBC"
13+
else
14+
FILENAME="$FILENAME.$ARCH.tar.gz"
15+
fi
16+
17+
echo "Building node modules..."
18+
echo "Platform: $PLATFORM"
19+
echo "Arch: $ARCH"
20+
echo "Libc: $LIBC"
21+
echo "npm target libc: $npm_config_target_libc"
22+
echo "Filname: $FILENAME"
923

10-
# reinstall backend prod dependencies only (optimise space)
1124
rm -rf redisinsight/api/node_modules
1225

1326
npm_config_arch="$ARCH" \
@@ -23,13 +36,13 @@ rm -rf redisinsight/build.zip
2336

2437
cp LICENSE ./redisinsight
2538

26-
cd redisinsight && tar -czvf build.tar.gz \
39+
cd redisinsight && tar -czf build.tar.gz \
2740
--exclude="api/node_modules/**/build/node_gyp_bins/python3" \
2841
api/node_modules \
2942
api/dist \
3043
ui/dist \
3144
LICENSE \
3245
&& cd ..
3346

34-
mkdir -p release/redisstack
35-
cp redisinsight/build.tar.gz release/redisstack/"$FILENAME"
47+
mkdir -p release/web
48+
cp redisinsight/build.tar.gz release/web/"$FILENAME"

.circleci/build/manual-build-validate.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ const whitelist = {
1717
'windows': {
1818
'nsis': 1,
1919
'nsis:x64': 1,
20+
},
21+
'docker': {
22+
'all': 1,
2023
}
2124
};
2225

.circleci/build/release-docker.sh

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
#!/bin/bash
2+
set -e
3+
4+
HELP="Args:
5+
-v - Semver (2.42.0)
6+
-d - Build image repository (Ex: -d redisinsight)
7+
-r - Target repository (Ex: -r redis/redisinsight)
8+
"
9+
10+
while getopts "v:d:r:h:" opt; do
11+
case $opt in
12+
v) VERSION="$OPTARG";;
13+
d) DEV_REPO="$OPTARG";;
14+
r) RELEASE_REPO="$OPTARG";;
15+
h) echo "$HELP"; exit 0;;
16+
?) echo "$HELP" >&2; exit 1 ;;
17+
esac
18+
done
19+
20+
V_ARR=( ${VERSION//./ } )
21+
TAGS[0]=$VERSION
22+
TAGS[1]="${V_ARR[0]}.${V_ARR[1]}"
23+
TAGS[2]="latest"
24+
25+
DEV_IMAGE_AMD64=$DEV_REPO:amd64
26+
DEV_IMAGE_ARM64=$DEV_REPO:arm64
27+
RELEASE_IMAGE_AMD64=$RELEASE_REPO:$VERSION-amd64
28+
RELEASE_IMAGE_ARM64=$RELEASE_REPO:$VERSION-arm64
29+
30+
echo "
31+
TAGS: [${TAGS[0]}, ${TAGS[1]}, ${TAGS[2]}]
32+
DEV_REPO: $DEV_REPO
33+
RELEASE_REPO: $RELEASE_REPO
34+
35+
DEV_IMAGE_AMD64: $DEV_IMAGE_AMD64
36+
DEV_IMAGE_ARM64: $DEV_IMAGE_ARM64
37+
38+
RELEASE_IMAGE_AMD64: $RELEASE_IMAGE_AMD64
39+
RELEASE_IMAGE_ARM64: $RELEASE_IMAGE_ARM64
40+
"
41+
42+
# Load images from tar archives
43+
docker rmi $DEV_IMAGE_AMD64 || true
44+
docker rmi $DEV_IMAGE_ARM64 || true
45+
docker load -i release/docker/docker-linux-alpine.amd64.tar
46+
docker load -i release/docker/docker-linux-alpine.arm64.tar
47+
48+
echo "Push AMD64 image"
49+
docker tag $DEV_IMAGE_AMD64 $RELEASE_IMAGE_AMD64
50+
docker push $RELEASE_IMAGE_AMD64
51+
52+
echo "Push ARM64 image"
53+
docker tag $DEV_IMAGE_ARM64 $RELEASE_IMAGE_ARM64
54+
docker push $RELEASE_IMAGE_ARM64
55+
56+
for TAG in "${TAGS[@]}"; do
57+
echo "Releasing: $RELEASE_REPO:$TAG"
58+
docker manifest rm $RELEASE_REPO:$TAG || true
59+
docker manifest create --amend "$RELEASE_REPO:$TAG" $RELEASE_IMAGE_AMD64 $RELEASE_IMAGE_ARM64
60+
docker manifest push "$RELEASE_REPO:$TAG"
61+
done
62+
63+
echo "Success"

.circleci/build/sum_sha256.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/bash
2+
set -e
3+
4+
find ./release -type f -name '*.tar.gz' -execdir sh -c 'sha256sum "$1" > "$1.sha256"' _ {} \;

0 commit comments

Comments
 (0)