Skip to content

Commit b1b17b3

Browse files
Merge pull request #1423 from redis/RDSC-3487_update_rdi_docs
RDSC-3487: Update RDI -> Deploy a pipeline documentation
2 parents df58e36 + 0fced13 commit b1b17b3

File tree

1 file changed

+97
-6
lines changed
  • content/integrate/redis-data-integration/data-pipelines

1 file changed

+97
-6
lines changed

content/integrate/redis-data-integration/data-pipelines/deploy.md

+97-6
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,103 @@ following command line to set the source database username to `myUserName`:
6161
redis-di set-secret SOURCE_DB_USERNAME myUserName
6262
```
6363

64-
### Set secrets for K8s/Helm deployment
64+
### Set secrets for K8s/Helm deployment using provided rdi-secret.sh script
6565

66-
Use
67-
[`kubectl create secret generic`](https://kubernetes.io/docs/reference/kubectl/generated/kubectl_create/kubectl_create_secret_generic/)
66+
To use the `rdi-secret.sh` script, begin by extracting the archive that contains the Helm chart. Once extracted, navigate to the resulting directory and verify that a `scripts` folder is present. Ensure that the `rdi-secret.sh` script is located inside the scripts folder before proceeding. The general pattern to use it is:
67+
```bash
68+
scripts/rdi-secret.sh set <SECRET-KEY> <SECRET-VALUE>
69+
```
70+
71+
The script lets you retrieve a specific secret or list all the secrets that have been set:
72+
```bash
73+
# Get specific secret
74+
scripts/rdi-secret.sh set <SECRET-KEY>
75+
76+
# List all secrets
77+
scripts/rdi-secret.sh list
78+
```
79+
80+
When you create secrets for TLS or mTLS, ensure that all certificates and keys are in `PEM` format. The only exception to this is that for PostgreSQL, the private key `SOURCE_DB_KEY` secret (the `client.key` file) must be in `DER` format. If you have a key in `PEM` format, you must convert it to `DER` before creating the `SOURCE_DB_KEY` secret using the command:
81+
82+
```bash
83+
openssl pkcs8 -topk8 -inform PEM -outform DER -in /path/to/myclient.key -out /path/to/myclient.pk8 -nocrypt
84+
```
85+
86+
This command assumes that the private key is not encrypted. See the [`openssl` documentation](https://docs.openssl.org/master/) to learn how to convert an encrypted private key.
87+
88+
The specific command lines for source secrets are as follows:
89+
90+
```bash
91+
# Without source TLS
92+
scripts/rdi-secret.sh set SOURCE_DB_USERNAME yourUsername
93+
scripts/rdi-secret.sh set SOURCE_DB_PASSWORD yourPassword
94+
# Verify that the secrets are created/updated
95+
scripts/rdi-secret.sh get SOURCE_DB_USERNAME
96+
scripts/rdi-secret.sh get SOURCE_DB_PASSWORD
97+
98+
# With source TLS
99+
scripts/rdi-secret.sh set SOURCE_DB_USERNAME yourUsername
100+
scripts/rdi-secret.sh set SOURCE_DB_PASSWORD yourPassword
101+
scripts/rdi-secret.sh set SOURCE_DB_CACERT /path/to/myca.crt
102+
# Verify that the secrets are created/updated
103+
scripts/rdi-secret.sh get SOURCE_DB_USERNAME
104+
scripts/rdi-secret.sh get SOURCE_DB_PASSWORD
105+
scripts/rdi-secret.sh get SOURCE_DB_CACERT
106+
107+
# With source mTLS
108+
scripts/rdi-secret.sh set SOURCE_DB_USERNAME yourUsername
109+
scripts/rdi-secret.sh set SOURCE_DB_PASSWORD yourPassword
110+
scripts/rdi-secret.sh set SOURCE_DB_CACERT /path/to/myca.crt
111+
scripts/rdi-secret.sh set SOURCE_DB_CERT /path/to/myclient.crt
112+
scripts/rdi-secret.sh set SOURCE_DB_KEY /path/to/myclient.key
113+
scripts/rdi-secret.sh set SOURCE_DB_KEY_PASSWORD yourKeyPassword # add this only if SOURCE_DB_KEY is password-protected
114+
# Verify that the secrets are created/updated
115+
scripts/rdi-secret.sh get SOURCE_DB_USERNAME
116+
scripts/rdi-secret.sh get SOURCE_DB_PASSWORD
117+
scripts/rdi-secret.sh get SOURCE_DB_CACERT
118+
scripts/rdi-secret.sh get SOURCE_DB_CERT
119+
scripts/rdi-secret.sh get SOURCE_DB_KEY
120+
scripts/rdi-secret.sh get SOURCE_DB_KEY_PASSWORD
121+
```
122+
123+
The corresponding command lines for target secrets are:
124+
125+
```bash
126+
# Without source TLS
127+
scripts/rdi-secret.sh set TARGET_DB_USERNAME yourUsername
128+
scripts/rdi-secret.sh set TARGET_DB_PASSWORD yourPassword
129+
# Verify that the secrets are created/updated
130+
scripts/rdi-secret.sh get TARGET_DB_USERNAME
131+
scripts/rdi-secret.sh get TARGET_DB_PASSWORD
132+
133+
# With source TLS
134+
scripts/rdi-secret.sh set TARGET_DB_USERNAME yourUsername
135+
scripts/rdi-secret.sh set TARGET_DB_PASSWORD yourPassword
136+
scripts/rdi-secret.sh set TARGET_DB_CACERT /path/to/myca.crt
137+
# Verify that the secrets are created/updated
138+
scripts/rdi-secret.sh get TARGET_DB_USERNAME
139+
scripts/rdi-secret.sh get TARGET_DB_PASSWORD
140+
scripts/rdi-secret.sh get TARGET_DB_CACERT
141+
142+
# With source mTLS
143+
scripts/rdi-secret.sh set TARGET_DB_USERNAME yourUsername
144+
scripts/rdi-secret.sh set TARGET_DB_PASSWORD yourPassword
145+
scripts/rdi-secret.sh set TARGET_DB_CACERT /path/to/myca.crt
146+
scripts/rdi-secret.sh set TARGET_DB_CERT /path/to/myclient.crt
147+
scripts/rdi-secret.sh set TARGET_DB_KEY /path/to/myclient.key
148+
scripts/rdi-secret.sh set TARGET_DB_KEY_PASSWORD yourKeyPassword # add this only if TARGET_DB_KEY is password-protected
149+
# Verify that the secrets are created/updated
150+
scripts/rdi-secret.sh get TARGET_DB_USERNAME
151+
scripts/rdi-secret.sh get TARGET_DB_PASSWORD
152+
scripts/rdi-secret.sh get TARGET_DB_CACERT
153+
scripts/rdi-secret.sh get TARGET_DB_CERT
154+
scripts/rdi-secret.sh get TARGET_DB_KEY
155+
scripts/rdi-secret.sh get TARGET_DB_KEY_PASSWORD
156+
```
157+
158+
### Set secrets for K8s/Helm deployment using Kubectl command
159+
160+
In some scenarios, you may prefer to use [`kubectl create secret generic`](https://kubernetes.io/docs/reference/kubectl/generated/kubectl_create/kubectl_create_secret_generic/)
68161
to set secrets for a K8s/Helm deployment. The general pattern of the commands is:
69162

70163
```bash
@@ -185,6 +278,4 @@ command to deploy a pipeline:
185278

186279
```bash
187280
redis-di deploy --dir <path to pipeline folder>
188-
```
189-
190-
281+
```

0 commit comments

Comments
 (0)