@@ -86,7 +86,7 @@ func showDockerNetHostAndNotModeNotBothAllowedHelp() {
86
86
"It is not allowed to set `--docker.net-host` and `--docker.net-mode` at the same time." ,
87
87
"" ,
88
88
"How to solve this:" ,
89
- "1 - Remove one of these two commandline arguments." ,
89
+ "1 - Remove one of these two commandline arguments." ,
90
90
"" ,
91
91
)
92
92
}
@@ -102,6 +102,42 @@ func showArangodExecutableNotFoundHelp(arangodPath string) {
102
102
)
103
103
}
104
104
105
+ // cannnot specify both `--ssl.auto-key` and `--ssl.keyfile`
106
+ func showSslAutoKeyAndKeyFileNotBothAllowedHelp () {
107
+ showFatalHelp (
108
+ "Specifying both `--ssl.auto-key` and `--ssl.keyfile` is not allowed." ,
109
+ "" ,
110
+ "How to solve this:" ,
111
+ "1 - Remove one of these two commandline arguments." ,
112
+ "" ,
113
+ )
114
+ }
115
+
116
+ // arangosync is not allowed with given starter mode.
117
+ func showArangoSyncNotAllowedWithModeHelp (mode string ) {
118
+ showFatalHelp (
119
+ fmt .Sprintf ("ArangoSync is not supported in combination with mode '%s'\n " , mode ),
120
+ "" ,
121
+ "How to solve this:" ,
122
+ "1 - Use the cluster starter mode:" ,
123
+ "" ,
124
+ " `arangodb --starter.mode=cluster --starter.sync ...`" ,
125
+ "" ,
126
+ )
127
+ }
128
+
129
+ // ArangoSync is not found at given path.
130
+ func showArangoSyncExecutableNotFoundHelp (arangosyncPath string ) {
131
+ showFatalHelp (
132
+ fmt .Sprintf ("Cannot find `arangosync` (expected at `%s`)." , arangosyncPath ),
133
+ "" ,
134
+ "How to solve this:" ,
135
+ "1 - Install ArangoSync locally or run the ArangoDB starter in docker. (see RADME for details)." ,
136
+ " Make sure to use an Enterprise version of ArangoDB." ,
137
+ "" ,
138
+ )
139
+ }
140
+
105
141
// --sync.server.keyfile is missing
106
142
func showSyncMasterServerKeyfileMissingHelp () {
107
143
showFatalHelp (
@@ -110,13 +146,13 @@ func showSyncMasterServerKeyfileMissingHelp() {
110
146
"How to solve this:" ,
111
147
"1 - If you do not have TLS CA certificate certificate, create it using the following command:" ,
112
148
"" ,
113
- " `arangosync create tls ca \\ " ,
149
+ " `arangodb create tls ca \\ " ,
114
150
" --cert=<yourfolder>/tls-ca.crt --key=<yourfolder>/tls-ca.key`" ,
115
151
"" ,
116
- "2 - Distribute the resulting `tls-ca.crt` file to all machines that you run the starer on." ,
152
+ "2 - Distribute the resulting `tls-ca.crt` file to all machines (in both datacenters) that you run the starter on." ,
117
153
"3 - Create a TLS certificate certificate, using the following command:" ,
118
154
"" ,
119
- " `arangosync create tls keyfile \\ " ,
155
+ " `arangodb create tls keyfile \\ " ,
120
156
" --cacert=<yourfolder>/tls-ca.crt --cakey=<yourfolder>/tls-ca.key \\ " ,
121
157
" --keyfile=<yourfolder>/tls.keyfile \\ " ,
122
158
" --host=<current host address/name>`" ,
@@ -136,16 +172,34 @@ func showSyncMasterClientCAFileMissingHelp() {
136
172
"How to solve this:" ,
137
173
"1 - Create a client authentication CA certificate using the following command:" ,
138
174
"" ,
139
- " `arangosync create client-auth ca --cert=<yourfolder>/client-auth-ca.crt --key=<yourfolder>/client-auth-ca.key`" ,
175
+ " `arangodb create client-auth ca --cert=<yourfolder>/client-auth-ca.crt --key=<yourfolder>/client-auth-ca.key`" ,
140
176
"" ,
141
- "2 - Distribute the resulting `client-auth-ca.crt` file to all machines that you run the starer on." ,
177
+ "2 - Distribute the resulting `client-auth-ca.crt` file to all machines (in both datacenters) that you run the starter on." ,
142
178
"3 - Add a commandline argument:" ,
143
179
"" ,
144
180
" `arangodb ... --sync.server.client-cafile=<yourfolder>/client-auth-ca.crt`" ,
145
181
"" ,
146
182
)
147
183
}
148
184
185
+ // --sync.master.jwt-secret is missing
186
+ func showSyncMasterJWTSecretMissingHelp () {
187
+ showFatalHelp (
188
+ "A JWT secret used for authentication of the arangosync syncworkers at the syncmaster is missing." ,
189
+ "" ,
190
+ "How to solve this:" ,
191
+ "1 - If needed, create JWT secret file using the following command:" ,
192
+ "" ,
193
+ " `arangodb create jwt-secret --secret=<yourfolder>/syncmaster.jwtsecret`" ,
194
+ "" ,
195
+ "2 - Distribute the resulting `syncmaster.jwtsecret` file to all machines in the current datacenter, that you run the starter on." ,
196
+ "3 - Add a commandline argument:" ,
197
+ "" ,
198
+ " `arangodb ... --sync.master.jwt-secret=<yourfolder>/syncmaster.jwtsecret`" ,
199
+ "" ,
200
+ )
201
+ }
202
+
149
203
// showFatalHelp logs a title and prints additional usages
150
204
// underneeth and the exit with code 1.
151
205
// Backticks in the lines are colored yellow.
0 commit comments