Skip to content

Commit bf167ac

Browse files
committed
Merge branch 'main' into e2e/feature/RI-5072-docker-encryption
2 parents 953e06a + c385cef commit bf167ac

File tree

438 files changed

+6407
-3744
lines changed

Some content is hidden

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

438 files changed

+6407
-3744
lines changed

.circleci/config.yml

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -462,6 +462,8 @@ jobs:
462462
command: |
463463
cd tests/e2e && export TEST_FILES=$(circleci tests glob "tests/web/**/*.e2e.ts" | circleci tests split --split-by=timings) && cd ../..
464464
TEST_BIG_DB_DUMP=$TEST_BIG_DB_DUMP \
465+
RI_SERVER_TLS_CERT="$RI_SERVER_TLS_CERT" \
466+
RI_SERVER_TLS_KEY="$RI_SERVER_TLS_KEY" \
465467
docker-compose \
466468
-f tests/e2e/rte.docker-compose.yml \
467469
-f tests/e2e/docker.web.docker-compose.yml \
@@ -476,6 +478,8 @@ jobs:
476478
command: |
477479
cd tests/e2e && export TEST_FILES=$(circleci tests glob "tests/web/**/*.e2e.ts" | circleci tests split --split-by=timings) && cd ../..
478480
TEST_BIG_DB_DUMP=$TEST_BIG_DB_DUMP \
481+
RI_SERVER_TLS_CERT="$RI_SERVER_TLS_CERT" \
482+
RI_SERVER_TLS_KEY="$RI_SERVER_TLS_KEY" \
479483
docker-compose \
480484
-f tests/e2e/rte.docker-compose.yml \
481485
-f tests/e2e/local.web.docker-compose.yml \
@@ -618,11 +622,11 @@ jobs:
618622
export RI_CLOUD_CAPI_URL=$RI_CLOUD_CAPI_URL_STAGE
619623
620624
if [ << parameters.env >> == 'stage' ]; then
621-
UPGRADES_LINK=$UPGRADES_LINK_STAGE SEGMENT_WRITE_KEY=$SEGMENT_WRITE_KEY_STAGE yarn package:stage --linux << parameters.target >>
625+
RI_UPGRADES_LINK=$RI_UPGRADES_LINK_STAGE RI_SEGMENT_WRITE_KEY=$RI_SEGMENT_WRITE_KEY_STAGE yarn package:stage --linux << parameters.target >>
622626
exit 0;
623627
fi
624628
625-
UPGRADES_LINK='' SEGMENT_WRITE_KEY='' yarn package:stage --linux << parameters.target >>
629+
RI_UPGRADES_LINK='' RI_SEGMENT_WRITE_KEY='' yarn package:stage --linux << parameters.target >>
626630
- when:
627631
condition:
628632
equal: [ true, << parameters.redisstack >> ]
@@ -710,12 +714,12 @@ jobs:
710714
export RI_CLOUD_IDP_GH_ID=$RI_CLOUD_IDP_GH_ID_STAGE
711715
export RI_CLOUD_API_URL=$RI_CLOUD_API_URL_STAGE
712716
export RI_CLOUD_CAPI_URL=$RI_CLOUD_CAPI_URL_STAGE
713-
export UPGRADES_LINK=''
714-
export SEGMENT_WRITE_KEY=''
717+
export RI_UPGRADES_LINK=''
718+
export RI_SEGMENT_WRITE_KEY=''
715719
716720
if [ << parameters.env >> == 'stage' ]; then
717-
export UPGRADES_LINK=$UPGRADES_LINK_STAGE
718-
export SEGMENT_WRITE_KEY=$SEGMENT_WRITE_KEY_STAGE
721+
export RI_UPGRADES_LINK=$RI_UPGRADES_LINK_STAGE
722+
export RI_SEGMENT_WRITE_KEY=$RI_SEGMENT_WRITE_KEY_STAGE
719723
fi
720724
721725
# handle manual builds
@@ -792,9 +796,9 @@ jobs:
792796
export RI_CLOUD_CAPI_URL=$RI_CLOUD_CAPI_URL_STAGE
793797
794798
if [ << parameters.env >> == 'stage' ]; then
795-
UPGRADES_LINK=$UPGRADES_LINK_STAGE SEGMENT_WRITE_KEY=$SEGMENT_WRITE_KEY_STAGE yarn package:stage --win << parameters.target >>
799+
RI_UPGRADES_LINK=$RI_UPGRADES_LINK_STAGE RI_SEGMENT_WRITE_KEY=$RI_SEGMENT_WRITE_KEY_STAGE yarn package:stage --win << parameters.target >>
796800
else
797-
UPGRADES_LINK='' SEGMENT_WRITE_KEY='' yarn package:stage --win << parameters.target >>
801+
RI_UPGRADES_LINK='' RI_SEGMENT_WRITE_KEY='' yarn package:stage --win << parameters.target >>
798802
fi
799803
800804
rm -rf release/win-unpacked
@@ -860,20 +864,18 @@ jobs:
860864
- run:
861865
name: Build Docker image (API + UI)
862866
command: |
863-
TELEMETRY=$SEGMENT_WRITE_KEY_DEV
867+
TELEMETRY=$RI_SEGMENT_WRITE_KEY_DEV
864868
865869
if [ << parameters.env >> == 'production' ]; then
866-
TELEMETRY=$SEGMENT_WRITE_KEY
870+
TELEMETRY=$RI_SEGMENT_WRITE_KEY
867871
fi
868872
869873
if [ << parameters.env >> == 'staging' ]; then
870-
TELEMETRY=$SEGMENT_WRITE_KEY_STAGE
874+
TELEMETRY=$RI_SEGMENT_WRITE_KEY_STAGE
871875
fi
872876
873877
docker build --build-arg NODE_ENV=<< parameters.env >> \
874-
--build-arg RI_SERVER_TLS_CERT="$RI_SERVER_TLS_CERT" \
875-
--build-arg RI_SERVER_TLS_KEY="$RI_SERVER_TLS_KEY" \
876-
--build-arg SEGMENT_WRITE_KEY="$TELEMETRY" \
878+
--build-arg RI_SEGMENT_WRITE_KEY="$TELEMETRY" \
877879
-t riv2:latest .
878880
879881
mkdir -p docker-release
@@ -1154,6 +1156,9 @@ workflows:
11541156
- Setup sign certificates (stage)
11551157
- linux:
11561158
name: Build app - Linux (stage)
1159+
env: stage
1160+
redisstack: false
1161+
target: AppImage
11571162
requires:
11581163
- Setup build (stage)
11591164
- docker:

.circleci/e2e/test.app-image.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ docker-compose -f tests/e2e/rte.docker-compose.yml up --force-recreate -d -V
1717
# run tests
1818
COMMON_URL=$(tail -n 1 apppath)/resources/app.asar/dist/renderer/index.html \
1919
ELECTRON_PATH=$(tail -n 1 apppath)/redisinsight \
20-
SOCKETS_CORS=true \
20+
RI_SOCKETS_CORS=true \
2121
yarn --cwd tests/e2e dotenv -e .desktop.env yarn --cwd tests/e2e test:desktop:ci

.circleci/e2e/test.exe.cmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ set OSS_STANDALONE_HOST=%E2E_CLOUD_DATABASE_HOST%
66
set OSS_STANDALONE_PORT=%E2E_CLOUD_DATABASE_PORT%
77
set OSS_STANDALONE_USERNAME=%E2E_CLOUD_DATABASE_USERNAME%
88
set OSS_STANDALONE_PASSWORD=%E2E_CLOUD_DATABASE_PASSWORD%
9-
set SOCKETS_CORS=true
9+
set RI_SOCKETS_CORS=true
1010

1111
call yarn --cwd tests/e2e install
1212

.circleci/redisstack/app-image.repack.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ set -e
44
ARCH=${ARCH:-x86_64}
55
WORKING_DIRECTORY=$(pwd)
66
SOURCE_APP=${SOURCE_APP:-"RedisInsight-linux-$ARCH.AppImage"}
7-
APP_FOLDER_NAME="RedisInsight-linux"
7+
RI_APP_FOLDER_NAME="RedisInsight-linux"
88
TAR_NAME="RedisInsight-app-linux.$ARCH.tar.gz"
99
TMP_FOLDER="/tmp/RedisInsight-app-$ARCH"
1010

@@ -17,9 +17,9 @@ cp "./release/$SOURCE_APP" "$TMP_FOLDER"
1717
cd "$TMP_FOLDER" || exit 1
1818

1919
./"$SOURCE_APP" --appimage-extract
20-
mv squashfs-root "$APP_FOLDER_NAME"
20+
mv squashfs-root "$RI_APP_FOLDER_NAME"
2121

22-
tar -czvf "$TAR_NAME" "$APP_FOLDER_NAME"
22+
tar -czvf "$TAR_NAME" "$RI_APP_FOLDER_NAME"
2323

2424
cp "$TAR_NAME" "$WORKING_DIRECTORY/release/redisstack/"
2525
cd "$WORKING_DIRECTORY" || exit 1

.circleci/redisstack/dmg.repack.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ set -e
44
ARCH=${ARCH:-x64}
55
WORKING_DIRECTORY=$(pwd)
66
TAR_NAME="RedisInsight-app-darwin.$ARCH.tar.gz"
7-
APP_FOLDER_NAME="RedisInsight.app"
8-
TMP_FOLDER="/tmp/$APP_FOLDER_NAME"
7+
RI_APP_FOLDER_NAME="RedisInsight.app"
8+
TMP_FOLDER="/tmp/$RI_APP_FOLDER_NAME"
99

1010
rm -rf "$TMP_FOLDER"
1111

@@ -15,7 +15,7 @@ mkdir -p "$TMP_FOLDER"
1515
hdiutil attach "./release/RedisInsight-mac-$ARCH.dmg"
1616
cp -a /Volumes/RedisInsight*/RedisInsight.app "/tmp"
1717
cd "/tmp" || exit 1
18-
tar -czvf "$TAR_NAME" "$APP_FOLDER_NAME"
18+
tar -czvf "$TAR_NAME" "$RI_APP_FOLDER_NAME"
1919
cp "$TAR_NAME" "$WORKING_DIRECTORY/release/redisstack/"
2020
cd "$WORKING_DIRECTORY" || exit 1
2121
hdiutil unmount /Volumes/RedisInsight*/

Dockerfile

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -43,20 +43,12 @@ FROM node:18.18-alpine
4343

4444
# runtime args and environment variables
4545
ARG NODE_ENV=production
46-
ARG RI_APP_HOST
47-
ARG RI_APP_PORT=5000
48-
ARG RI_SERVER_TLS_CERT
49-
ARG RI_SERVER_TLS_KEY
50-
ARG SEGMENT_WRITE_KEY
51-
ENV RI_APP_HOST=${RI_APP_HOST}
52-
ENV RI_APP_PORT=${RI_APP_PORT}
53-
ENV RI_SERVER_TLS_CERT=${RI_SERVER_TLS_CERT}
54-
ENV RI_SERVER_TLS_KEY=${RI_SERVER_TLS_KEY}
55-
ENV SEGMENT_WRITE_KEY=${SEGMENT_WRITE_KEY}
46+
ARG RI_SEGMENT_WRITE_KEY
47+
ENV RI_SEGMENT_WRITE_KEY=${RI_SEGMENT_WRITE_KEY}
5648
ENV NODE_ENV=${NODE_ENV}
57-
ENV SERVER_STATIC_CONTENT=true
58-
ENV BUILD_TYPE='DOCKER_ON_PREMISE'
59-
ENV APP_FOLDER_ABSOLUTE_PATH='/data'
49+
ENV RI_SERVE_STATICS=true
50+
ENV RI_BUILD_TYPE='DOCKER_ON_PREMISE'
51+
ENV RI_APP_FOLDER_ABSOLUTE_PATH='/data'
6052

6153
# this resolves CVE-2023-5363
6254
# TODO: remove this line once we update to base image that doesn't have this vulnerability

README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
[![Discord](https://img.shields.io/discord/697882427875393627?style=flat-square)](https://discord.gg/QUkjSsk)
88

99

10-
RedisInsight is a visual tool that provides capabilities to design, develop and optimize your Redis application.
10+
RedisInsight is a visual tool that provides capabilities to design, develop, and optimize your Redis application.
1111
Query, analyse and interact with your Redis data. [Download it here](https://redis.com/redis-enterprise/redis-insight/#insight-form)!
1212

1313
![RedisInsight Browser screenshot](/.github/redisinsight_browser.png)
@@ -23,26 +23,26 @@ RedisInsight is an intuitive and efficient GUI for Redis, allowing you to intera
2323
* Browse, filter, visualise your key-value Redis data structures and see key values in different formats (including JSON, Hex, ASCII, etc.)
2424
* CRUD support for Lists, Hashes, Strings, Sets, Sorted Sets, and Streams
2525
* CRUD support for [RedisJSON](https://oss.redis.com/redisjson/)
26+
* Interactive tutorials to learn easily, among other things, how to leverage the native JSON data structure supporting structured querying and full-text search, including vector similarity search for your AI use cases
27+
* Contextualised recommendations to optimize performance and memory usage. The list of recommendations gets updated as you interact with your database
2628
* Profiler - analyze every command sent to Redis in real-time
2729
* SlowLog - analyze slow operations in Redis instances based on the [Slowlog](https://github.com/RedisInsight/RedisInsight/releases#:~:text=results%20of%20the-,Slowlog,-command%20to%20analyze) command
2830
* Pub/Sub - support for [Redis pub/sub](https://redis.io/docs/manual/pubsub/), enabling subscription to channels and posting messages to channels
2931
* Bulk actions - Delete the keys in bulk based on the filters set in Browser or Tree view
30-
* Introducing Workbench - advanced command line interface with intelligent command auto-complete, complex data visualizations and support for the raw mode
32+
* Workbench - advanced command line interface with intelligent command auto-complete, complex data visualizations and support for the raw mode
3133
* Command auto-complete support for [RediSearch](https://oss.redis.com/redisearch/), [RedisJSON](https://oss.redis.com/redisjson/), [RedisGraph](https://oss.redis.com/redisgraph/), [RedisTimeSeries](https://oss.redis.com/redistimeseries/), [RedisAI](https://oss.redis.com/redisai/)
32-
* Visualizations of your [RediSearch](https://oss.redis.com/redisearch/) index, queries, and aggregations
33-
* Ability to build your own data visualization plugins
34-
* Built-in click-through guides for Redis capabilities
35-
* Officially supported for Redis OSS, [Redis Cloud](https://redis.com/try-free/). Works with Microsoft Azure Cache for Redis (official support upcoming).
36-
* Available for macOS (including M1), Windows and Linux
34+
* Visualizations of your [RediSearch](https://oss.redis.com/redisearch/) index, queries, and aggregations. Ability to build [your own data visualization plugins](https://github.com/RedisInsight/Packages)
35+
* Officially supported for Redis OSS, [Redis Cloud](https://redis.com/try-free/). Works with Microsoft Azure Cache for Redis (official support upcoming)
3736

3837
Check out the [release notes](https://docs.redis.com/latest/ri/release-notes/).
3938

4039
## Get started with RedisInsight
4140

42-
This repository includes the code for the GA version of RedisInsight 2.0. Check out the [blogpost](https://redis.com/blog/introducing-redisinsight-2/) announcing it.
41+
This repository includes the code for RedisInsight. Check out the [blogpost](https://redis.com/blog/introducing-redisinsight-2/) announcing it.
4342

4443
### Installable
4544
Available to download for free from [here](https://redis.com/redis-enterprise/redis-insight/#insight-form).
45+
Supports Windows, macOS (including M1), and Linux.
4646

4747
### Build
4848
Alternatively you can also build from source. See our wiki for instructions.

api.Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ RUN dbus-uuidgen > /var/lib/dbus/machine-id
2626

2727
ARG NODE_ENV=production
2828
ENV NODE_ENV=${NODE_ENV}
29-
ENV BUILD_TYPE='DOCKER_ON_PREMISE'
29+
ENV RI_BUILD_TYPE='DOCKER_ON_PREMISE'
3030

3131
WORKDIR /usr/src/app
3232

configs/webpack.config.main.prod.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -55,18 +55,18 @@ export default merge(baseConfig, {
5555
NODE_ENV: 'production',
5656
DEBUG_PROD: false,
5757
START_MINIMIZED: false,
58-
APP_ENV: 'electron',
58+
RI_APP_TYPE: 'electron',
5959
RI_SERVER_TLS_CERT: process.env.RI_SERVER_TLS_CERT || '',
6060
RI_SERVER_TLS_KEY: process.env.RI_SERVER_TLS_KEY || '',
61-
APP_FOLDER_NAME: process.env.APP_FOLDER_NAME || '',
62-
UPGRADES_LINK: process.env.UPGRADES_LINK || '',
61+
RI_SERVE_STATICS: false,
62+
RI_APP_FOLDER_NAME: process.env.RI_APP_FOLDER_NAME || '',
63+
RI_UPGRADES_LINK: process.env.RI_UPGRADES_LINK || '',
6364
RI_APP_HOST: '127.0.0.1',
64-
BUILD_TYPE: 'ELECTRON',
65-
APP_VERSION: version,
66-
AWS_BUCKET_NAME: 'AWS_BUCKET_NAME' in process.env ? process.env.AWS_BUCKET_NAME : '',
67-
SEGMENT_WRITE_KEY: 'SEGMENT_WRITE_KEY' in process.env ? process.env.SEGMENT_WRITE_KEY : 'SOURCE_WRITE_KEY',
68-
CONNECTIONS_TIMEOUT_DEFAULT: 'CONNECTIONS_TIMEOUT_DEFAULT' in process.env
69-
? process.env.CONNECTIONS_TIMEOUT_DEFAULT
65+
RI_BUILD_TYPE: 'ELECTRON',
66+
RI_APP_VERSION: version,
67+
RI_SEGMENT_WRITE_KEY: 'RI_SEGMENT_WRITE_KEY' in process.env ? process.env.RI_SEGMENT_WRITE_KEY : 'SOURCE_WRITE_KEY',
68+
RI_CONNECTIONS_TIMEOUT_DEFAULT: 'RI_CONNECTIONS_TIMEOUT_DEFAULT' in process.env
69+
? process.env.RI_CONNECTIONS_TIMEOUT_DEFAULT
7070
: toString(30 * 1000), // 30 sec
7171
// cloud auth
7272
RI_CLOUD_IDP_AUTHORIZE_URL: 'RI_CLOUD_IDP_AUTHORIZE_URL' in process.env ? process.env.RI_CLOUD_IDP_AUTHORIZE_URL: '',
Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import webpack from 'webpack';
22
import { merge } from 'webpack-merge';
3-
import { toString } from 'lodash';
43
import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
54
import mainProdConfig from './webpack.config.main.prod';
65
import DeleteSourceMaps from '../scripts/DeleteSourceMaps';
7-
import { version } from '../redisinsight/package.json';
86

97
DeleteSourceMaps();
108

@@ -18,21 +16,6 @@ export default merge(mainProdConfig, {
1816

1917
new webpack.EnvironmentPlugin({
2018
NODE_ENV: 'staging',
21-
DEBUG_PROD: false,
22-
START_MINIMIZED: false,
23-
APP_ENV: 'electron',
24-
RI_SERVER_TLS_CERT: process.env.RI_SERVER_TLS_CERT || '',
25-
RI_SERVER_TLS_KEY: process.env.RI_SERVER_TLS_KEY || '',
26-
APP_FOLDER_NAME: process.env.APP_FOLDER_NAME || '',
27-
UPGRADES_LINK: process.env.UPGRADES_LINK || '',
28-
RI_APP_HOST: '127.0.0.1',
29-
BUILD_TYPE: 'ELECTRON',
30-
APP_VERSION: version,
31-
AWS_BUCKET_NAME: 'AWS_BUCKET_NAME' in process.env ? process.env.AWS_BUCKET_NAME : '',
32-
SEGMENT_WRITE_KEY: 'SEGMENT_WRITE_KEY' in process.env ? process.env.SEGMENT_WRITE_KEY : 'SOURCE_WRITE_KEY',
33-
CONNECTIONS_TIMEOUT_DEFAULT: 'CONNECTIONS_TIMEOUT_DEFAULT' in process.env
34-
? process.env.CONNECTIONS_TIMEOUT_DEFAULT
35-
: toString(30 * 1000), // 30 sec
3619
}),
3720
],
3821
});

0 commit comments

Comments
 (0)