Skip to content

Commit 6ad33da

Browse files
committed
Added Gemfire SSL setup steps.
1 parent 61b494b commit 6ad33da

File tree

2 files changed

+102
-2
lines changed

2 files changed

+102
-2
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ changed-data events from heterogeneous data platforms to [Redis Stack](https://r
6565
</tr>
6666
<tr><td bgcolor="#FFFFFF" colspan="2">&nbsp;</td></tr>
6767
<tr>
68-
<td> <b>REST API | CLI | Swagger UI</b> <br> Redis Connect is entirely data-driven and relies on Redis Enterprise as its metadata store. You can configure, start, stop, migrate, and restart jobs using the built-in REST API and interactive CLI. Redis Connect also exposes a Swagger UI to simplify endpoint discovery and operational experience.</td>
68+
<td> <b>REST API | CLI | <a href="https://redis-field-engineering.github.io/redis-connect-api-docs" target="_blank">Swagger UI</a></b> <br> Redis Connect is entirely data-driven and relies on Redis Enterprise as its metadata store. You can configure, start, stop, migrate, and restart jobs using the built-in REST API and interactive CLI. Redis Connect also exposes a Swagger UI to simplify endpoint discovery and operational experience.</td>
6969
<td width="50%"><a href="https://redis-field-engineering.github.io/redis-connect-api-docs"><img src="/images/capabilities/Redis Connect Swagger UI.png" style="float: right;" width="500" height="200" alt="Redis Connect Swagger UI"></a></td>
7070
</tr>
7171
<tr><td bgcolor="#FFFFFF" colspan="2">&nbsp;</td></tr>
@@ -152,7 +152,7 @@ redis-connect\bin> redisconnect.bat start
152152

153153
### Swagger UI
154154

155-
The [Redis Connect Swagger UI](https://redis-field-engineering.github.io/redis-connect-api-docs) is available on port 8282 by default. If you're running locally, you can point your browser to [http://localhost:8282/swagger-ui/index.html]()
155+
Redis Connect Swagger UI is available on port 8282 by default. If you're running locally, you can point your browser to [http://localhost:8282/swagger-ui/index.html]()
156156

157157
<br>_For quick start, use '**cdc_job**' as **jobName**_
158158
<br><br><img src="/images/quick-start/Redis Connect Swagger Front Page.jpg" style="float: right;" width = 700px height = 425px/>

examples/gemfire/README.md

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,106 @@
22

33
Please see an example under [Demo](demo/setup_gemfire.sh).
44

5+
**or**
6+
7+
Use your existing VMware Gemfire installation
8+
9+
### Configuring SSL
10+
11+
* Create server keystore e.g. GemfireServer.jks.<p>
12+
````shell
13+
keytool -genkey -alias GemfireServer -keyalg RSA -validity 3650 -keystore "GemfireServer.jks" -storetype JKS -dname "CN=trusted" -keypass password -storepass password
14+
````
15+
16+
* Export server's public certificate. This will be kept in client's truststore for client to authC server.
17+
````shell
18+
keytool -exportcert -alias GemfireServer -keystore GemfireServer.jks -file GemfireServer.cer
19+
````
20+
21+
* Create client keystore e.g. GemfireClient.jks
22+
````shell
23+
keytool -genkey -alias GemfireClient -keyalg RSA -validity 3650 -keystore GemfireClient.jks -storetype JKS -dname "CN=trusted" -keypass password -storepass password
24+
````
25+
26+
* Export client's public certificate. This will be kept in server's truststore for server to authC client.
27+
````shell
28+
keytool -exportcert -alias GemfireClient -keystore GemfireClient.jks -file GemfireClientPublic.cer
29+
````
30+
31+
* Add Server certificate to client trust store
32+
````shell
33+
keytool -importcert -alias GemfireServer -keystore GemfireClient.jks -file GemfireServer.cer
34+
````
35+
36+
* Add client certificate to server truststore
37+
````shell
38+
keytool -importcert -alias GemfireClient -keystore GemfireServer.jks -file GemfireClientPublic.cer
39+
````
40+
41+
#### Create secured (SSL enabled) gemfire cluster
42+
43+
gemfire.properties
44+
````shell
45+
ssl-enabled-components=all
46+
mcast-port=0
47+
locators=localhost[10334]
48+
````
49+
50+
gfsecurity.properties
51+
````shell
52+
ssl-enabled-components=all
53+
ssl-keystore-type=jks
54+
ssl-keystore=/home/virag/gemfire/vmware-gemfire-9.15.1/config/certs/GemfireServer.jks
55+
ssl-keystore-password=password
56+
ssl-truststore=/home/virag/gemfire/vmware-gemfire-9.15.1/config/certs/GemfireServer.jks
57+
ssl-truststore-password=password
58+
````
59+
60+
#### Steps to start secure cluster
61+
62+
* Start locator
63+
````shell
64+
start locator --name=mylocator --properties-file=/path/to/your/gemfire.properties --security-properties-file=/path/to/your/gfsecurity.properties
65+
````
66+
67+
* Start cache-server
68+
````shell
69+
start server --name=myserver --properties-file=/path/to/your/gemfire.properties --security-properties-file=/path/to/your/gfsecurity.properties
70+
````
71+
72+
#### Connecting to ssl secured cluster from gfsh
73+
````shell
74+
connect --locator=localhost[10334] --use-ssl --security-properties-file=/path/to/your/gfsecurity.properties
75+
````
76+
77+
**or**
78+
79+
````shell
80+
~/vmware-gemfire-9.15.1/bin$ ./gfsh
81+
_________________________ __
82+
/ _____/ ______/ ______/ /____/ /
83+
/ / __/ /___ /_____ / _____ /
84+
/ /__/ / ____/ _____/ / / / /
85+
/______/_/ /______/_/ /_/ 9.15.1
86+
87+
Monitor and Manage VMware Tanzu GemFire
88+
gfsh>connect --locator=10.142.0.20[10334] --use-ssl
89+
key-store: /home/virag/gemfire/vmware-gemfire-9.15.1/config/certs/GemfireClient.jks
90+
key-store-password: ********
91+
key-store-type(default: JKS):
92+
trust-store: /home/virag/gemfire/vmware-gemfire-9.15.1/config/certs/GemfireClient.jks
93+
trust-store-password: ********
94+
trust-store-type(default: JKS):
95+
ssl-ciphers(default: any):
96+
ssl-protocols(default: any):
97+
ssl-enabled-components(default: all):
98+
Connecting to Locator at [host=10.142.0.20, port=10334] ..
99+
Connecting to Manager at [host=fe-dev.c.central-beach-194106.internal, port=1099] ..
100+
Successfully connected to: [host=fe-dev.c.central-beach-194106.internal, port=1099]
101+
102+
You are connected to a cluster of version: 9.15.1
103+
````
104+
5105
## Setting up Redis Enterprise Databases (Target)
6106

7107
Before using Redis Connect to capture the changes committed on Gemfire into Redis Enterprise Databases, first create a database for the metadata management and metrics provided by Redis Connect by creating a database with [RedisTimeSeries](https://redis.com/modules/redis-timeseries/) module enabled, see [Create Redis Enterprise Database](https://docs.redis.com/latest/rs/administering/creating-databases/#creating-a-new-redis-database) for reference. Then, create (or use an existing) another Redis Enterprise database (Target) to store the changes coming from PostgreSQL. Additionally, you can enable [RediSearch 2.0](https://redis.com/blog/introducing-redisearch-2-0/) module on the target database to enable secondary index with full-text search capabilities on the existing hashes where PostgreSQL changed events are being written at then [create an index, and start querying](https://oss.redis.com/redisearch/Commands/) the document in hashes.

0 commit comments

Comments
 (0)