carta-controller 2.0.4 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/config_schema.json +5 -0
- package/dist/controllerTests.js +38 -27
- package/dist/serverHandlers.js +21 -11
- package/docs/_build/doctrees/configuration.doctree +0 -0
- package/docs/_build/doctrees/environment.pickle +0 -0
- package/docs/_build/doctrees/index.doctree +0 -0
- package/docs/_build/doctrees/introduction.doctree +0 -0
- package/docs/_build/doctrees/schema.doctree +0 -0
- package/docs/_build/html/.buildinfo +1 -1
- package/docs/_build/html/_sources/configuration.rst.txt +4 -1
- package/docs/_build/html/_sources/index.rst.txt +2 -2
- package/docs/_build/html/_sources/introduction.rst.txt +1 -1
- package/docs/_build/html/_static/config/config_schema.json +10 -0
- package/docs/_build/html/_static/config/snippet_schema.json +44 -0
- package/docs/_build/html/_static/documentation_options.js +1 -1
- package/docs/_build/html/configuration.html +5 -1
- package/docs/_build/html/genindex.html +1 -1
- package/docs/_build/html/index.html +2 -2
- package/docs/_build/html/installation.html +1 -1
- package/docs/_build/html/introduction.html +2 -2
- package/docs/_build/html/schema.html +56 -32
- package/docs/_build/html/search.html +1 -1
- package/docs/_build/html/searchindex.js +1 -1
- package/docs/_build/html/ubuntu_focal_instructions.html +1 -1
- package/docs/src/configuration.rst +4 -1
- package/package.json +1 -1
|
@@ -455,6 +455,11 @@
|
|
|
455
455
|
],
|
|
456
456
|
"default": "/usr/bin/carta_backend"
|
|
457
457
|
},
|
|
458
|
+
"preserveEnv": {
|
|
459
|
+
"description": "Use the --preserve-env argument when calling sudo",
|
|
460
|
+
"type": "boolean",
|
|
461
|
+
"default": true
|
|
462
|
+
},
|
|
458
463
|
"killCommand": {
|
|
459
464
|
"description": "Path to CARTA kill script",
|
|
460
465
|
"type": "string",
|
package/dist/controllerTests.js
CHANGED
|
@@ -40,7 +40,7 @@ function runTests(username) {
|
|
|
40
40
|
}
|
|
41
41
|
yield testDatabase();
|
|
42
42
|
if (config_1.ServerConfig.logFileTemplate) {
|
|
43
|
-
testLog(username);
|
|
43
|
+
yield testLog(username);
|
|
44
44
|
}
|
|
45
45
|
testFrontend();
|
|
46
46
|
const backendProcess = yield testBackendStartup(username);
|
|
@@ -49,21 +49,21 @@ function runTests(username) {
|
|
|
49
49
|
}
|
|
50
50
|
exports.runTests = runTests;
|
|
51
51
|
function testLog(username) {
|
|
52
|
-
|
|
53
|
-
.replace("{username}", username)
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const logLocation = config_1.ServerConfig.logFileTemplate.replace("{username}", username).replace("{pid}", "9999").replace("{datetime}", moment().format("YYYYMMDD.h_mm_ss"));
|
|
54
|
+
try {
|
|
55
|
+
const logStream = fs.createWriteStream(logLocation, { flags: "a" });
|
|
56
|
+
// Transform callbacks into awaits
|
|
57
|
+
yield new Promise(res => logStream.write("test", res));
|
|
58
|
+
yield new Promise(res => logStream.end(res));
|
|
59
|
+
fs.unlinkSync(logLocation);
|
|
60
|
+
console.log(logSymbols.success, `Checked log writing for user ${username}`);
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
util_1.verboseError(err);
|
|
64
|
+
throw new Error(`Could not create log file at ${logLocation} for user ${username}. Please check your config file's logFileTemplate option`);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
67
|
}
|
|
68
68
|
function testLdap(authConf, username) {
|
|
69
69
|
return new Promise((resolve, reject) => {
|
|
@@ -180,22 +180,33 @@ function testFrontend() {
|
|
|
180
180
|
function testBackendStartup(username) {
|
|
181
181
|
return __awaiter(this, void 0, void 0, function* () {
|
|
182
182
|
const port = config_1.ServerConfig.backendPorts.max - 1;
|
|
183
|
-
let args = [
|
|
184
|
-
|
|
185
|
-
"-
|
|
183
|
+
let args = [];
|
|
184
|
+
if (config_1.ServerConfig.preserveEnv) {
|
|
185
|
+
args.push("--preserve-env=CARTA_AUTH_TOKEN");
|
|
186
|
+
}
|
|
187
|
+
args = args.concat([
|
|
188
|
+
"-n",
|
|
189
|
+
"-u",
|
|
190
|
+
`${username}`,
|
|
186
191
|
config_1.ServerConfig.processCommand,
|
|
187
|
-
"--no_http",
|
|
188
|
-
"--debug_no_auth",
|
|
189
|
-
"--
|
|
190
|
-
|
|
191
|
-
"--top_level_folder",
|
|
192
|
-
config_1.ServerConfig.
|
|
193
|
-
];
|
|
192
|
+
"--no_http",
|
|
193
|
+
"--debug_no_auth",
|
|
194
|
+
"--port",
|
|
195
|
+
`${port}`,
|
|
196
|
+
"--top_level_folder",
|
|
197
|
+
config_1.ServerConfig.rootFolderTemplate.replace("{username}", username)
|
|
198
|
+
]);
|
|
199
|
+
if (config_1.ServerConfig.logFileTemplate) {
|
|
200
|
+
args.push("--no_log");
|
|
201
|
+
}
|
|
194
202
|
if (config_1.ServerConfig.additionalArgs) {
|
|
195
203
|
args = args.concat(config_1.ServerConfig.additionalArgs);
|
|
196
204
|
}
|
|
205
|
+
// Finally, add the positional argument for the base folder
|
|
206
|
+
args.push(config_1.ServerConfig.baseFolderTemplate.replace("{username}", username));
|
|
197
207
|
util_1.verboseLog(`running sudo ${args.join(" ")}`);
|
|
198
|
-
|
|
208
|
+
// Use same stdout and stderr stream for the backend process
|
|
209
|
+
const backendProcess = child_process_1.spawn("sudo", args, { stdio: "inherit" });
|
|
199
210
|
yield util_1.delay(2000);
|
|
200
211
|
if (backendProcess.signalCode) {
|
|
201
212
|
throw new Error(`Backend process terminated with code ${backendProcess.signalCode}. Please check your sudoers config, processCommand option and additionalArgs section`);
|
package/dist/serverHandlers.js
CHANGED
|
@@ -176,19 +176,29 @@ function startServer(username) {
|
|
|
176
176
|
if (port < 0) {
|
|
177
177
|
throw { statusCode: 500, message: "No available ports for the backend process" };
|
|
178
178
|
}
|
|
179
|
-
let args = [
|
|
180
|
-
|
|
181
|
-
"-
|
|
179
|
+
let args = [];
|
|
180
|
+
if (config_1.ServerConfig.preserveEnv) {
|
|
181
|
+
args.push("--preserve-env=CARTA_AUTH_TOKEN");
|
|
182
|
+
}
|
|
183
|
+
args = args.concat([
|
|
184
|
+
"-n",
|
|
185
|
+
"-u",
|
|
186
|
+
`${username}`,
|
|
182
187
|
config_1.ServerConfig.processCommand,
|
|
183
|
-
"--no_http",
|
|
184
|
-
"--
|
|
185
|
-
|
|
186
|
-
"--top_level_folder",
|
|
187
|
-
config_1.ServerConfig.
|
|
188
|
-
];
|
|
188
|
+
"--no_http",
|
|
189
|
+
"--port",
|
|
190
|
+
`${port}`,
|
|
191
|
+
"--top_level_folder",
|
|
192
|
+
config_1.ServerConfig.rootFolderTemplate.replace("{username}", username)
|
|
193
|
+
]);
|
|
194
|
+
if (config_1.ServerConfig.logFileTemplate) {
|
|
195
|
+
args.push("--no_log");
|
|
196
|
+
}
|
|
189
197
|
if (config_1.ServerConfig.additionalArgs) {
|
|
190
198
|
args = args.concat(config_1.ServerConfig.additionalArgs);
|
|
191
199
|
}
|
|
200
|
+
// Finally, add the positional argument for the base folder
|
|
201
|
+
args.push(config_1.ServerConfig.baseFolderTemplate.replace("{username}", username));
|
|
192
202
|
const headerToken = uuid_1.v4();
|
|
193
203
|
const child = child_process_1.spawn("sudo", args, { env: { CARTA_AUTH_TOKEN: headerToken } });
|
|
194
204
|
setPendingProcess(username, port, headerToken, child);
|
|
@@ -232,7 +242,7 @@ function startServer(username) {
|
|
|
232
242
|
child.on("exit", code => {
|
|
233
243
|
console.log(`Process ${child.pid} exited with code ${code} and signal ${child.signalCode}`);
|
|
234
244
|
deleteProcess(username);
|
|
235
|
-
logStream === null || logStream === void 0 ? void 0 : logStream.
|
|
245
|
+
logStream === null || logStream === void 0 ? void 0 : logStream.end();
|
|
236
246
|
});
|
|
237
247
|
// Check for early exit of backend process
|
|
238
248
|
yield util_1.delay(config_1.ServerConfig.startDelay);
|
|
@@ -248,7 +258,7 @@ function startServer(username) {
|
|
|
248
258
|
catch (e) {
|
|
249
259
|
util_1.verboseError(e);
|
|
250
260
|
console.log(`Problem starting process for user ${username}`);
|
|
251
|
-
logStream === null || logStream === void 0 ? void 0 : logStream.
|
|
261
|
+
logStream === null || logStream === void 0 ? void 0 : logStream.end();
|
|
252
262
|
if (e.statusCode && e.message) {
|
|
253
263
|
throw e;
|
|
254
264
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
# Sphinx build info version 1
|
|
2
2
|
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
|
3
|
-
config:
|
|
3
|
+
config: cab4ab9f21bbbaa15a42a39a8e17d156
|
|
4
4
|
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
|
@@ -26,7 +26,10 @@ To provide the ``carta`` user with these privileges, you must make modifications
|
|
|
26
26
|
|
|
27
27
|
.. warning::
|
|
28
28
|
Please only edit your sudoers configuration with ``visudo`` or equivalent.
|
|
29
|
-
|
|
29
|
+
|
|
30
|
+
.. note::
|
|
31
|
+
Older versions of ``sudo`` do not support the ``--preserve-env=VARIABLE`` argument. If your version of ``sudo`` is too old, set ``"preserveEnv"`` to ``false`` in your controller configuration, and add ``Defaults env_keep += "CARTA_AUTH_TOKEN"`` to your sudoers configuration.
|
|
32
|
+
|
|
30
33
|
.. _config-authentication:
|
|
31
34
|
|
|
32
35
|
Authentication
|
|
@@ -22,9 +22,9 @@ Detailed :ref:`step-by-step instructions<focal_instructions>` are provided for U
|
|
|
22
22
|
ubuntu_focal_instructions
|
|
23
23
|
schema
|
|
24
24
|
|
|
25
|
-
.. |backend-github| image:: https://img.shields.io/badge/CARTA%20Version-
|
|
25
|
+
.. |backend-github| image:: https://img.shields.io/badge/CARTA%20Version-3.0.0--beta.1c-brightgreen
|
|
26
26
|
:alt: View this backend version on GitHub
|
|
27
|
-
:target: https://github.com/CARTAvis/carta-backend/releases/tag/
|
|
27
|
+
:target: https://github.com/CARTAvis/carta-backend/releases/tag/v3.0.0-beta.1c
|
|
28
28
|
|
|
29
29
|
.. |npm-package| image:: https://img.shields.io/npm/v/carta-controller/dev.svg?style=flat
|
|
30
30
|
:alt: View this project on npm
|
|
@@ -10,7 +10,7 @@ The CARTA controller provides a simple dashboard which authenticates users and a
|
|
|
10
10
|
Dependencies
|
|
11
11
|
------------
|
|
12
12
|
|
|
13
|
-
To allow the controller to serve CARTA sessions, you must give it access to an executable CARTA backend, which can be either a compiled executable or a container. If you want to use a non-standard version of the CARTA frontend, you must also build it, and adjust the controller configuration to point to it. You should use the ``
|
|
13
|
+
To allow the controller to serve CARTA sessions, you must give it access to an executable CARTA backend, which can be either a compiled executable or a container. If you want to use a non-standard version of the CARTA frontend, you must also build it, and adjust the controller configuration to point to it. You should use the ``v3.0.0-beta.1c`` tag of `the CARTA backend <https://github.com/CARTAvis/carta-backend>`_.
|
|
14
14
|
|
|
15
15
|
By default, the controller runs on port 8000. It should be run behind a proxy, so that it can be accessed via HTTP and HTTPS.
|
|
16
16
|
|
|
@@ -399,6 +399,11 @@
|
|
|
399
399
|
"type": "string",
|
|
400
400
|
"examples": ["localhost", "127.0.0.1"]
|
|
401
401
|
},
|
|
402
|
+
"httpOnly": {
|
|
403
|
+
"description": "Allow HTTP-only connections. For testing or internal networks only",
|
|
404
|
+
"type": "boolean",
|
|
405
|
+
"default": false
|
|
406
|
+
},
|
|
402
407
|
"serverAddress": {
|
|
403
408
|
"description": "Public-facing server address",
|
|
404
409
|
"type": "string",
|
|
@@ -455,6 +460,11 @@
|
|
|
455
460
|
],
|
|
456
461
|
"default": "/usr/bin/carta_backend"
|
|
457
462
|
},
|
|
463
|
+
"preserveEnv": {
|
|
464
|
+
"description": "Use the --preserve-env argument when calling sudo",
|
|
465
|
+
"type": "boolean",
|
|
466
|
+
"default": true
|
|
467
|
+
},
|
|
458
468
|
"killCommand": {
|
|
459
469
|
"description": "Path to CARTA kill script",
|
|
460
470
|
"type": "string",
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Snippet",
|
|
4
|
+
"description": "Schema for CARTA Snippet (Version 1)",
|
|
5
|
+
"$id": "carta_snippet_1",
|
|
6
|
+
"required": ["snippetVersion", "frontendVersion", "code"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"snippetVersion": {
|
|
9
|
+
"description": "The version of the snippet contained",
|
|
10
|
+
"type": "integer",
|
|
11
|
+
"minimum": 1,
|
|
12
|
+
"maximum": 1
|
|
13
|
+
},
|
|
14
|
+
"frontendVersion": {
|
|
15
|
+
"description": "The version of the frontend targeted by this snippet",
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"code": {
|
|
19
|
+
"description": "Snippet source code",
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
"tags": {
|
|
23
|
+
"description": "List of tags associated with this snippet",
|
|
24
|
+
"type": "array",
|
|
25
|
+
"items": {
|
|
26
|
+
"type": "string"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"categories": {
|
|
30
|
+
"description": "List of categories under which to place this snippet",
|
|
31
|
+
"type": "array",
|
|
32
|
+
"items": {
|
|
33
|
+
"type": "string"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"requires": {
|
|
37
|
+
"description": "List of snippets (by name) which need to be run before running this snippet",
|
|
38
|
+
"type": "array",
|
|
39
|
+
"items": {
|
|
40
|
+
"type": "string"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
9
9
|
|
|
10
|
-
<title>Configuration — CARTA Controller
|
|
10
|
+
<title>Configuration — CARTA Controller 3.0.0-beta.1d documentation</title>
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
@@ -205,6 +205,10 @@
|
|
|
205
205
|
<p class="admonition-title">Warning</p>
|
|
206
206
|
<p>Please only edit your sudoers configuration with <code class="docutils literal notranslate"><span class="pre">visudo</span></code> or equivalent.</p>
|
|
207
207
|
</div>
|
|
208
|
+
<div class="admonition note">
|
|
209
|
+
<p class="admonition-title">Note</p>
|
|
210
|
+
<p>Older versions of <code class="docutils literal notranslate"><span class="pre">sudo</span></code> do not support the <code class="docutils literal notranslate"><span class="pre">--preserve-env=VARIABLE</span></code> argument. If your version of <code class="docutils literal notranslate"><span class="pre">sudo</span></code> is too old, set <code class="docutils literal notranslate"><span class="pre">"preserveEnv"</span></code> to <code class="docutils literal notranslate"><span class="pre">false</span></code> in your controller configuration, and add <code class="docutils literal notranslate"><span class="pre">Defaults</span> <span class="pre">env_keep</span> <span class="pre">+=</span> <span class="pre">"CARTA_AUTH_TOKEN"</span></code> to your sudoers configuration.</p>
|
|
211
|
+
</div>
|
|
208
212
|
</div>
|
|
209
213
|
<div class="section" id="authentication">
|
|
210
214
|
<span id="config-authentication"></span><h3>Authentication<a class="headerlink" href="#authentication" title="Permalink to this headline">¶</a></h3>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
9
9
|
|
|
10
|
-
<title>CARTA Controller — CARTA Controller
|
|
10
|
+
<title>CARTA Controller — CARTA Controller 3.0.0-beta.1d documentation</title>
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
@@ -156,7 +156,7 @@
|
|
|
156
156
|
|
|
157
157
|
<div class="section" id="carta-controller">
|
|
158
158
|
<h1>CARTA Controller<a class="headerlink" href="#carta-controller" title="Permalink to this headline">¶</a></h1>
|
|
159
|
-
<p><a class="reference external" href="https://github.com/CARTAvis/carta-backend/releases/tag/
|
|
159
|
+
<p><a class="reference external" href="https://github.com/CARTAvis/carta-backend/releases/tag/v3.0.0-beta.1c"><img alt="View this backend version on GitHub" src="https://img.shields.io/badge/CARTA%20Version-3.0.0--beta.1c-brightgreen" /></a> <a class="reference external" href="https://npmjs.org/package/carta-controller"><img alt="View this project on npm" src="https://img.shields.io/npm/v/carta-controller/dev.svg?style=flat" /></a> <img alt="Last commit" src="https://img.shields.io/github/last-commit/CARTAvis/carta-controller" /> <img alt="Commit activity" src="https://img.shields.io/github/commit-activity/m/CARTAvis/carta-controller" /></p>
|
|
160
160
|
<p>CARTA is the Cube Analysis and Rendering Tool for Astronomy. This document describes the installation and configuration process for the controller component.</p>
|
|
161
161
|
<p>Detailed <a class="reference internal" href="ubuntu_focal_instructions.html#focal-instructions"><span class="std std-ref">step-by-step instructions</span></a> are provided for Ubuntu 20.04 (Focal Fossa).</p>
|
|
162
162
|
<div class="toctree-wrapper compound">
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
9
9
|
|
|
10
|
-
<title>Introduction — CARTA Controller
|
|
10
|
+
<title>Introduction — CARTA Controller 3.0.0-beta.1d documentation</title>
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
<p>The CARTA controller provides a simple dashboard which authenticates users and allows them to manage their CARTA backend processes. It also serves static frontend code to clients, and dynamically redirects authenticated client connections to the appropriate backend processes. The controller can either handle authentication itself, or delegate it to an external OAuth2-based authentication server.</p>
|
|
167
167
|
<div class="section" id="dependencies">
|
|
168
168
|
<span id="id2"></span><h2>Dependencies<a class="headerlink" href="#dependencies" title="Permalink to this headline">¶</a></h2>
|
|
169
|
-
<p>To allow the controller to serve CARTA sessions, you must give it access to an executable CARTA backend, which can be either a compiled executable or a container. If you want to use a non-standard version of the CARTA frontend, you must also build it, and adjust the controller configuration to point to it. You should use the <code class="docutils literal notranslate"><span class="pre">
|
|
169
|
+
<p>To allow the controller to serve CARTA sessions, you must give it access to an executable CARTA backend, which can be either a compiled executable or a container. If you want to use a non-standard version of the CARTA frontend, you must also build it, and adjust the controller configuration to point to it. You should use the <code class="docutils literal notranslate"><span class="pre">v3.0.0-beta.1c</span></code> tag of <a class="reference external" href="https://github.com/CARTAvis/carta-backend">the CARTA backend</a>.</p>
|
|
170
170
|
<p>By default, the controller runs on port 8000. It should be run behind a proxy, so that it can be accessed via HTTP and HTTPS.</p>
|
|
171
171
|
<p>MongoDB is required for storing user preferences, layouts and (in the near future) controller metrics.</p>
|
|
172
172
|
<p>You also need a working <a class="reference external" href="https://nodejs.org/en/about/releases/">NodeJS LTS</a> installation with NPM. Use <code class="docutils literal notranslate"><span class="pre">npm</span> <span class="pre">install</span></code> to install all Node dependencies.</p>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
9
9
|
|
|
10
|
-
<title>CARTA configuration schema — CARTA Controller
|
|
10
|
+
<title>CARTA configuration schema — CARTA Controller 3.0.0-beta.1d documentation</title>
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
@@ -340,124 +340,148 @@
|
|
|
340
340
|
</tr>
|
|
341
341
|
<tr class="row-even"><td colspan="3"><p>127.0.0.1</p></td>
|
|
342
342
|
</tr>
|
|
343
|
-
<tr class="row-odd"><td rowspan="
|
|
343
|
+
<tr class="row-odd"><td rowspan="3"><ul class="simple">
|
|
344
|
+
<li><p>httpOnly</p></li>
|
|
345
|
+
</ul>
|
|
346
|
+
</td>
|
|
347
|
+
<td colspan="4"><p>Allow HTTP-only connections. For testing or internal networks only</p></td>
|
|
348
|
+
</tr>
|
|
349
|
+
<tr class="row-even"><td><p>type</p></td>
|
|
350
|
+
<td colspan="3"><p><em>boolean</em></p></td>
|
|
351
|
+
</tr>
|
|
352
|
+
<tr class="row-odd"><td><p>default</p></td>
|
|
353
|
+
<td colspan="3"><p>False</p></td>
|
|
354
|
+
</tr>
|
|
355
|
+
<tr class="row-even"><td rowspan="4"><ul class="simple">
|
|
344
356
|
<li><p>serverAddress</p></li>
|
|
345
357
|
</ul>
|
|
346
358
|
</td>
|
|
347
359
|
<td colspan="4"><p>Public-facing server address</p></td>
|
|
348
360
|
</tr>
|
|
349
|
-
<tr class="row-
|
|
361
|
+
<tr class="row-odd"><td><p>type</p></td>
|
|
350
362
|
<td colspan="3"><p><em>string</em></p></td>
|
|
351
363
|
</tr>
|
|
352
|
-
<tr class="row-
|
|
364
|
+
<tr class="row-even"><td><p>pattern</p></td>
|
|
353
365
|
<td colspan="3"><p>^https?://</p></td>
|
|
354
366
|
</tr>
|
|
355
|
-
<tr class="row-
|
|
367
|
+
<tr class="row-odd"><td><p>format</p></td>
|
|
356
368
|
<td colspan="3"><p>uri</p></td>
|
|
357
369
|
</tr>
|
|
358
|
-
<tr class="row-
|
|
370
|
+
<tr class="row-even"><td rowspan="4"><ul class="simple">
|
|
359
371
|
<li><p>dashboardAddress</p></li>
|
|
360
372
|
</ul>
|
|
361
373
|
</td>
|
|
362
374
|
<td colspan="4"><p>Optional parameter for explicitly configuring a custom dashboard address</p></td>
|
|
363
375
|
</tr>
|
|
364
|
-
<tr class="row-
|
|
376
|
+
<tr class="row-odd"><td><p>type</p></td>
|
|
365
377
|
<td colspan="3"><p><em>string</em></p></td>
|
|
366
378
|
</tr>
|
|
367
|
-
<tr class="row-
|
|
379
|
+
<tr class="row-even"><td><p>pattern</p></td>
|
|
368
380
|
<td colspan="3"><p>^https?://</p></td>
|
|
369
381
|
</tr>
|
|
370
|
-
<tr class="row-
|
|
382
|
+
<tr class="row-odd"><td><p>format</p></td>
|
|
371
383
|
<td colspan="3"><p>uri</p></td>
|
|
372
384
|
</tr>
|
|
373
|
-
<tr class="row-
|
|
385
|
+
<tr class="row-even"><td rowspan="4"><ul class="simple">
|
|
374
386
|
<li><p>apiAddress</p></li>
|
|
375
387
|
</ul>
|
|
376
388
|
</td>
|
|
377
389
|
<td colspan="4"><p>Optional parameter for explicitly configuring a custom API base address</p></td>
|
|
378
390
|
</tr>
|
|
379
|
-
<tr class="row-
|
|
391
|
+
<tr class="row-odd"><td><p>type</p></td>
|
|
380
392
|
<td colspan="3"><p><em>string</em></p></td>
|
|
381
393
|
</tr>
|
|
382
|
-
<tr class="row-
|
|
394
|
+
<tr class="row-even"><td><p>pattern</p></td>
|
|
383
395
|
<td colspan="3"><p>^https?://</p></td>
|
|
384
396
|
</tr>
|
|
385
|
-
<tr class="row-
|
|
397
|
+
<tr class="row-odd"><td><p>format</p></td>
|
|
386
398
|
<td colspan="3"><p>uri</p></td>
|
|
387
399
|
</tr>
|
|
388
|
-
<tr class="row-
|
|
400
|
+
<tr class="row-even"><td rowspan="2"><ul class="simple">
|
|
389
401
|
<li><p>frontendPath</p></li>
|
|
390
402
|
</ul>
|
|
391
403
|
</td>
|
|
392
404
|
<td colspan="4"><p>Path to the built frontend folder. If no path is provided, the packaged version will be used</p></td>
|
|
393
405
|
</tr>
|
|
394
|
-
<tr class="row-
|
|
406
|
+
<tr class="row-odd"><td><p>type</p></td>
|
|
395
407
|
<td colspan="3"><p><em>string</em></p></td>
|
|
396
408
|
</tr>
|
|
397
|
-
<tr class="row-
|
|
409
|
+
<tr class="row-even"><td rowspan="12"><ul class="simple">
|
|
398
410
|
<li><p>backendPorts</p></li>
|
|
399
411
|
</ul>
|
|
400
412
|
</td>
|
|
401
413
|
<td colspan="4"><p>Port range to use for the CARTA backend process</p></td>
|
|
402
414
|
</tr>
|
|
403
|
-
<tr class="row-
|
|
415
|
+
<tr class="row-odd"><td><p>type</p></td>
|
|
404
416
|
<td colspan="3"><p><em>object</em></p></td>
|
|
405
417
|
</tr>
|
|
406
|
-
<tr class="row-
|
|
418
|
+
<tr class="row-even"><td rowspan="2"><p>default</p></td>
|
|
407
419
|
<td><p>min</p></td>
|
|
408
420
|
<td colspan="2"><p>3003</p></td>
|
|
409
421
|
</tr>
|
|
410
|
-
<tr class="row-
|
|
422
|
+
<tr class="row-odd"><td><p>max</p></td>
|
|
411
423
|
<td colspan="2"><p>3500</p></td>
|
|
412
424
|
</tr>
|
|
413
|
-
<tr class="row-
|
|
425
|
+
<tr class="row-even"><td colspan="4"><p>properties</p></td>
|
|
414
426
|
</tr>
|
|
415
|
-
<tr class="row-
|
|
427
|
+
<tr class="row-odd"><td rowspan="3"><ul class="simple">
|
|
416
428
|
<li><p><strong>min</strong></p></li>
|
|
417
429
|
</ul>
|
|
418
430
|
</td>
|
|
419
431
|
<td><p>type</p></td>
|
|
420
432
|
<td colspan="2"><p><em>integer</em></p></td>
|
|
421
433
|
</tr>
|
|
422
|
-
<tr class="row-
|
|
434
|
+
<tr class="row-even"><td><p>maximum</p></td>
|
|
423
435
|
<td colspan="2"><p>65535</p></td>
|
|
424
436
|
</tr>
|
|
425
|
-
<tr class="row-
|
|
437
|
+
<tr class="row-odd"><td><p>minimum</p></td>
|
|
426
438
|
<td colspan="2"><p>1024</p></td>
|
|
427
439
|
</tr>
|
|
428
|
-
<tr class="row-
|
|
440
|
+
<tr class="row-even"><td rowspan="3"><ul class="simple">
|
|
429
441
|
<li><p><strong>max</strong></p></li>
|
|
430
442
|
</ul>
|
|
431
443
|
</td>
|
|
432
444
|
<td><p>type</p></td>
|
|
433
445
|
<td colspan="2"><p><em>integer</em></p></td>
|
|
434
446
|
</tr>
|
|
435
|
-
<tr class="row-
|
|
447
|
+
<tr class="row-odd"><td><p>maximum</p></td>
|
|
436
448
|
<td colspan="2"><p>65535</p></td>
|
|
437
449
|
</tr>
|
|
438
|
-
<tr class="row-
|
|
450
|
+
<tr class="row-even"><td><p>minimum</p></td>
|
|
439
451
|
<td colspan="2"><p>1024</p></td>
|
|
440
452
|
</tr>
|
|
441
|
-
<tr class="row-
|
|
453
|
+
<tr class="row-odd"><td><p>additionalProperties</p></td>
|
|
442
454
|
<td colspan="3"><p>False</p></td>
|
|
443
455
|
</tr>
|
|
444
|
-
<tr class="row-
|
|
456
|
+
<tr class="row-even"><td rowspan="5"><ul class="simple">
|
|
445
457
|
<li><p>processCommand</p></li>
|
|
446
458
|
</ul>
|
|
447
459
|
</td>
|
|
448
460
|
<td colspan="4"><p>Path to CARTA backend executable</p></td>
|
|
449
461
|
</tr>
|
|
450
|
-
<tr class="row-
|
|
462
|
+
<tr class="row-odd"><td><p>type</p></td>
|
|
451
463
|
<td colspan="3"><p><em>string</em></p></td>
|
|
452
464
|
</tr>
|
|
453
|
-
<tr class="row-
|
|
465
|
+
<tr class="row-even"><td rowspan="2"><p>examples</p></td>
|
|
454
466
|
<td colspan="3"><p>/usr/bin/carta_backend</p></td>
|
|
455
467
|
</tr>
|
|
456
|
-
<tr class="row-
|
|
468
|
+
<tr class="row-odd"><td colspan="3"><p>/usr/local/bin/carta_backend</p></td>
|
|
457
469
|
</tr>
|
|
458
|
-
<tr class="row-
|
|
470
|
+
<tr class="row-even"><td><p>default</p></td>
|
|
459
471
|
<td colspan="3"><p>/usr/bin/carta_backend</p></td>
|
|
460
472
|
</tr>
|
|
473
|
+
<tr class="row-odd"><td rowspan="3"><ul class="simple">
|
|
474
|
+
<li><p>preserveEnv</p></li>
|
|
475
|
+
</ul>
|
|
476
|
+
</td>
|
|
477
|
+
<td colspan="4"><p>Use the –preserve-env argument when calling sudo</p></td>
|
|
478
|
+
</tr>
|
|
479
|
+
<tr class="row-even"><td><p>type</p></td>
|
|
480
|
+
<td colspan="3"><p><em>boolean</em></p></td>
|
|
481
|
+
</tr>
|
|
482
|
+
<tr class="row-odd"><td><p>default</p></td>
|
|
483
|
+
<td colspan="3"><p>True</p></td>
|
|
484
|
+
</tr>
|
|
461
485
|
<tr class="row-even"><td rowspan="4"><ul class="simple">
|
|
462
486
|
<li><p>killCommand</p></li>
|
|
463
487
|
</ul>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Search.setIndex({docnames:["configuration","index","installation","introduction","schema","ubuntu_focal_instructions"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,sphinx:56},filenames:["configuration.rst","index.rst","installation.rst","introduction.rst","schema.rst","ubuntu_focal_instructions.rst"],objects:{},objnames:{},objtypes:{},terms:{"15h":4,"15m":4,"606f7e":4,"90s":4,"boolean":4,"default":[0,3,4],"enum":4,"final":5,"long":3,"new":3,"null":4,"public":[0,4,5],"return":[0,3],"short":3,"static":3,"switch":5,"true":4,"var":[0,4,5],For:0,LTS:[3,5],TLS:4,The:[0,2,3,4,5],These:5,Use:3,abl:0,abov:3,accept:4,access:[0,3,4,5],accesstokenag:4,account:0,activ:4,adapt:5,add:[0,5],added:[],adding:2,addit:[0,4,5],additionalarg:[0,4],additionalproperti:4,addon:5,address:4,addus:5,adher:0,adjust:[0,3],admin:4,advis:4,after:[2,3,4,5],algorithm:4,all:[0,2,3,4,5],allow:[0,3,5],almost:5,also:[0,2,3],alter:0,amount:3,analysi:1,ani:[0,4],apach:0,api:[3,4],apiaddress:4,app:4,appear:[0,4,5],applic:[3,4],appropri:3,apt:[2,5],argument:[0,4],arrai:4,assist:3,assum:[0,3,5],astronomi:1,attempt:0,auth:[3,4],authent:[1,4,5],author:3,authprovid:[0,1],automat:[0,2,4,5],backend:[1,3,4],backendport:4,background:[0,4],backgroundcolor:[0,4],badger:5,banner:[0,4],bannercolor:[0,4],bannerimag:[0,4],base:[3,4],basefoldertempl:[0,4],bash:[0,5],bashrc:[],beaver:2,becaus:0,been:3,befor:4,behind:[3,4],belong:[0,5],below:5,beta:[2,3,5],better:3,bin:[0,4,5],binari:2,bind:4,bindcredenti:4,binddn:4,bindproperti:4,bionic:[2,5],both:[0,2],bound:4,branch:[],build:[2,3,5],built:[0,4],cach:4,call:5,can:[0,2,3,5],carta:[2,3],carta_backend:[0,4,5],carta_config:4,carta_control:[0,5],carta_kill_script:[],carta_priv:[0,4,5],carta_publ:[0,4,5],cartavi:5,casacor:2,cert:0,chang:0,check:4,child:0,child_pid:0,chown:5,click:4,client:[3,4],clientid:4,clone:2,code:3,color:4,com:[0,4,5],comm:0,command:[0,5],command_of_pid:0,command_to_match:0,comment:[0,4],commun:0,compat:[2,4],compil:[3,5],compon:1,config:[0,5],config_schema:0,configur:[1,2,3],confluenc:[],connect:[0,3,4],consol:3,contact:[0,3,4],contain:3,content:1,control:[3,4],cooki:3,copi:[],core:2,correct:0,correctli:[],correspond:2,creat:[2,3],credenti:[0,4],cube:1,curl:5,current:5,custom:[2,4],customis:[0,5],d2dce5:0,dashboard:[0,3,4,5],dashboardaddress:4,dat:4,data:[0,2,4],databas:[0,4],databasenam:[0,4],datatim:4,datetim:4,deb:5,debian:2,defin:4,deleg:3,deni:0,depend:[1,2],deploy:[3,4],describ:[1,3],detail:[1,2,4,5],dev:[2,5],develop:[2,5],differ:[2,5],direct:0,directli:3,directori:4,disabl:[],displai:4,document:[1,3,4,5],doe:0,domain:[0,4],dure:3,dynam:3,echo:0,edit:[0,2,5],either:3,els:0,email:[0,4],emit:4,empti:4,encount:3,ensur:[0,5],enter:[0,4],environ:0,equival:0,error:3,es256:4,es384:4,es512:4,especi:0,essenti:5,etc:[0,4,5],event:4,exampl:[0,4,5],exchang:3,execut:[0,3,4,5],exist:0,exit:0,exit_aft:[],exit_timeout:4,explicitli:4,extern:[0,1,3],f6f8fa:[0,4],face:4,fair:3,fals:4,featur:3,feedback:3,ff11ee:4,field:[0,4],file:[0,2,4,5],filter:4,fit:0,flag:[0,5],flexibl:3,flow:3,focal:[1,2],folder:4,footer:4,footertext:[0,4],forc:4,forev:2,format:[0,3,4],forward:[0,5],fossa:[1,2],four:3,from:[0,2,5],frontend:[1,3,4,5],frontendpath:4,fssl:5,futur:1,geco:[],gener:[0,5],genrsa:[0,5],get:[0,1,2,5],github:2,githubusercont:[],give:3,given:[0,4],gmail:4,googl:[1,3],googleusercont:4,group:[0,5],h_mm_ss:4,handl:[0,3],has:[0,3],have:[0,2,4,5],hello:[],help:1,helpdesk:[3,4],here:5,home:[0,4,5],host:[0,2,3,4],href:[0,4],hs256:4,hs384:4,hs512:4,html:4,http:[0,3,4,5],http_upgrad:0,httponli:3,identifi:[4,5],idia:[],idl:4,idletimeout:4,imag:0,implement:3,includ:5,incom:0,inform:[0,4],infotext:[0,4],init_exit_aft:[],initial_timeout:4,instal:[1,3],instanc:4,institut:[0,4],instruct:[0,1,2],integ:4,interfac:[3,4],intern:0,introduct:1,issu:3,issuer:[0,4],item:4,itself:3,javascript:0,json:[0,5],jsonc:0,just:2,jwt:[3,4],keep:2,kei:[0,3,4,5],kern:2,keyalgorithm:1,kill:[0,4,5],killcommand:[0,4],last:4,latest:[2,5],layout:3,ldap:[0,1,3],ldapopt:4,least:[],level:[0,4],lib:5,librari:3,lifetim:4,like:[2,4],line:0,list:4,listen:[0,4],live:3,local:[0,1,5],localhost:[0,4],locat:[0,4],log:[0,4,5],logfiletempl:[0,4],login:0,logintext:[0,4],logo:4,logoutaddress:4,lookup:[0,4],lts:[],mai:[0,2],mailto:[0,4],make:[0,4,5],manag:[2,3],map:0,match:0,max:4,maximum:4,method:[0,4],metric:3,millisecond:4,min:4,minimum:4,minitem:4,minlength:4,minut:4,mkdir:5,mode:3,modif:0,modul:0,mongodb:[0,3,4,5],more:[2,3,4],most:[],multipl:0,must:[0,3,4],my_auth_server_public_kei:4,myapp:4,name:[0,4],nativ:5,need:[0,3,4],no_http:0,no_log:0,node:[3,5],node_modul:[],nodej:[3,5],nodesourc:5,non:3,nopasswd:0,note:5,notic:0,npm:[2,3,5],number:[3,4],nvm:[],nvm_bin:[],oauth2:[3,4],object:4,occur:5,omit:4,omp_thread:4,one:4,onli:[0,4,5],openssl:[0,5],option:[0,2,4,5],order:0,org:4,other:[0,4],our:2,out:[0,4,5],outform:[0,5],over:0,overrid:0,own:5,packag:[2,4],pair:0,pam:[0,3,4,5],paramet:4,pars:4,part:5,pass:[3,4,5],password:[0,3,4],passwordless:5,path:[0,4],pattern:4,pem:[0,4,5],perm:5,permit:0,pgrep:0,pid:[0,4],place:3,placehold:4,plain:4,pleas:[0,2,3,4,5],pm2:2,png:4,point:[0,3],port:[0,3,4,5],posit:0,possibl:[0,2],ppa:[2,5],prefer:3,privat:[0,3,4,5],privatekeyloc:[0,4],privileg:0,problem:[0,3,4],process:[0,1,3,4,5],processcommand:[0,4],profil:[],properti:4,provid:[0,1,2,3,4,5],proxi:[0,3,4],proxy_cache_bypass:0,proxy_http_vers:0,proxy_pass:0,proxy_set_head:0,ps256:4,ps384:4,ps512:4,publickeyloc:[0,4],pubout:[0,5],rang:4,raw:[],read:0,reason:[],reboot:[2,5],recommend:2,reconnect:4,red:4,redirect:[0,3],refer:[2,4,5],refresh:[0,3,4],refreshtokenag:4,releas:2,relev:5,reload:0,remot:0,remote_addr:0,render:1,replac:4,repo:[3,5],repositori:[2,5],request:0,request_uri:0,requir:[0,2,3],respect:[0,4],respons:4,restrict:0,rgb:4,root:[],rootfoldertempl:[0,4],rout:4,rs256:4,rs384:4,rs512:4,rsa:[0,5],run:[0,1,3,4],safe:0,same:0,sampl:5,save:5,schema:[0,1],scope:4,script:[0,2,4],search:4,searchbas:4,searchfilt:4,searchscop:4,section:5,secur:[],see:4,send:4,serv:[0,3],server:[0,3,4,5],server_nam:0,serveraddress:[0,4],serverinterfac:[0,4],serverport:[0,4],servic:5,session:3,set:0,setenv:0,setup_lt:5,shadow:[0,5],shell:5,should:[2,3,4,5],sign:[0,3,4],simpl:3,some:3,sourc:2,span:[0,4],specif:0,specifi:[0,4],ssl:[0,4],ssl_certif:0,ssl_certificate_kei:0,standard:[0,3],start:[0,2,4,5],startdelai:4,starttl:4,startup:2,step:1,still:[3,4],stop:0,store:3,strict:4,strictdn:4,string:4,strongli:0,stub:4,style:0,sub:4,subfold:4,submit:3,sudo:[0,5],sudoer:[0,5],suggest:[0,4],support:[1,5],suppress:0,svg:[0,4],system:[1,2,3,4,5],tabl:[0,4],tag:3,team:5,test:[0,3,4],text:4,than:4,thei:[0,5],them:[3,5],thi:[0,1,3,4,5],thread:[],three:[],through:4,time:4,token:[0,3,4],tokenrefreshaddress:4,tool:[1,5],top:[0,4],top_level_fold:0,traffic:0,translat:0,trust:0,txt:4,type:4,ubuntu:[1,2],uid:4,unauthor:0,unchang:5,undefin:4,under:0,uniqu:[0,4],uniquefield:4,unix:[0,5],unnecessari:[],unsaf:5,updat:[0,5],upgrad:0,uri:[0,4],url:4,use:[0,2,3,4],used:[0,3,4,5],useemailasid:4,user1:0,user1_alt:0,user2:0,user:[0,3,4,5],user_id:4,userlookup:4,userlookupt:4,usermod:5,usernam:[0,3,4],usert:4,using:[0,2,4,5],usr:[0,4,5],util:2,v12:5,v14:5,v16:5,valid:[0,3,4],validdomain:4,verifi:4,version:[2,3,4,5],via:[0,3,4],visudo:[0,5],wai:0,wait:4,want:3,watch:0,web:3,websocket:0,welcom:[0,4],well:3,what:0,when:[0,2,4],whenev:0,where:5,whether:4,which:[0,2,3],who:5,wish:2,without:[0,2],work:1,world:[],would:[2,4],write:0,you:[0,2,3,4,5],your:[0,2,4,5],yyyymmdd:4},titles:["Configuration","CARTA Controller","Installation","Introduction","CARTA configuration schema","Step-by-step instructions for Ubuntu 20.04.2 (Focal Fossa)"],titleterms:{authent:[0,3],authprovid:4,backend:[0,2,5],carta:[0,1,4,5],configur:[0,4,5],control:[0,1,2,5],creat:5,depend:[3,5],directori:[0,5],extern:4,focal:5,fossa:5,frontend:2,futur:3,gener:[],get:3,googl:4,help:3,instal:[2,5],instruct:5,introduct:3,kei:[],keyalgorithm:4,ldap:4,local:4,nginx:[0,5],other:5,packag:5,permiss:[0,5],pm2:5,requir:5,run:[2,5],schema:4,script:5,set:5,startup:5,step:5,support:3,system:0,ubuntu:5,work:3}})
|
|
1
|
+
Search.setIndex({docnames:["configuration","index","installation","introduction","schema","ubuntu_focal_instructions"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,sphinx:56},filenames:["configuration.rst","index.rst","installation.rst","introduction.rst","schema.rst","ubuntu_focal_instructions.rst"],objects:{},objnames:{},objtypes:{},terms:{"15h":4,"15m":4,"606f7e":4,"90s":4,"boolean":4,"default":[0,3,4],"enum":4,"final":5,"long":3,"new":3,"null":4,"public":[0,4,5],"return":[0,3],"short":3,"static":3,"switch":5,"true":4,"var":[0,4,5],For:[0,4],LTS:[3,5],TLS:4,The:[0,2,3,4,5],These:5,Use:[3,4],_config_control:[],_config_controller_:[],abl:0,abov:3,accept:4,access:[0,3,4,5],accesstokenag:4,account:0,across:[],activ:4,adapt:5,add:[0,5],added:[],adding:2,addit:[0,4,5],additionalarg:[0,4],additionalproperti:4,addon:5,address:4,addus:5,adher:0,adjust:[0,3],admin:4,advis:4,after:[2,3,4,5],algorithm:4,all:[0,2,3,4,5],allow:[0,3,4,5],almost:5,also:[0,2,3],alter:0,amount:3,analysi:1,ani:[0,4],apach:0,api:[3,4],apiaddress:4,app:4,appear:[0,4,5],applic:[3,4],appropri:3,apt:[2,5],argument:[0,4],arrai:4,assist:3,assum:[0,3,5],astronomi:1,attempt:0,auth:[3,4],authent:[1,4,5],author:3,authprovid:[0,1],automat:[0,2,4,5],backend:[1,3,4],backendport:4,background:[0,4],backgroundcolor:[0,4],badger:5,banner:[0,4],bannercolor:[0,4],bannerimag:[0,4],base:[3,4],basefoldertempl:[0,4],bash:[0,5],bashrc:[],beaver:2,becaus:0,been:3,befor:4,behind:[3,4],belong:[0,5],below:5,beta:[2,3,5],better:3,bin:[0,4,5],binari:2,bind:4,bindcredenti:4,binddn:4,bindproperti:4,bionic:[2,5],both:[0,2],bound:4,branch:[],build:[2,3,5],built:[0,4],cach:4,call:[4,5],can:[0,2,3,5],carta:[2,3],carta_auth_token:0,carta_backend:[0,4,5],carta_config:4,carta_control:[0,5],carta_kill_script:[],carta_priv:[0,4,5],carta_publ:[0,4,5],cartavi:5,casacor:2,cert:0,chang:0,check:4,child:0,child_pid:0,chown:5,click:4,client:[3,4],clientid:4,clone:2,code:3,color:4,com:[0,4,5],comm:0,command:[0,5],command_of_pid:0,command_to_match:0,comment:[0,4],commun:0,compat:[2,4],compil:[3,5],compon:1,config:[0,5],config_controller_:[],config_schema:0,configur:[1,2,3],confluenc:[],connect:[0,3,4],consol:3,contact:[0,3,4],contain:3,content:1,control:[3,4],cooki:3,copi:[],core:2,correct:0,correctli:[],correspond:2,creat:[2,3],credenti:[0,4],cube:1,curl:5,current:5,custom:[2,4],customis:[0,5],d2dce5:0,dashboard:[0,3,4,5],dashboardaddress:4,dat:4,data:[0,2,4],databas:[0,4],databasenam:[0,4],datatim:4,datetim:4,deb:5,debian:2,defin:4,deleg:3,deni:0,depend:[1,2],deploy:[3,4],describ:[1,3],detail:[1,2,4,5],dev:[2,5],develop:[2,5],differ:[2,5],direct:0,directli:3,directori:4,disabl:[],displai:4,document:[1,3,4,5],doe:0,domain:[0,4],dure:3,dynam:3,echo:0,edit:[0,2,5],either:3,els:0,email:[0,4],emit:4,empti:4,encount:3,ensur:[0,5],enter:[0,4],env:[0,4],env_keep:0,environ:0,environment:[],equival:0,error:3,es256:4,es384:4,es512:4,especi:0,essenti:5,etc:[0,4,5],event:4,exampl:[0,4,5],exchang:3,execut:[0,3,4,5],exist:0,exit:0,exit_aft:[],exit_timeout:4,explicitli:4,extern:[0,1,3],f6f8fa:[0,4],face:4,fair:3,fals:[0,4],featur:3,feedback:3,ff11ee:4,field:[0,4],file:[0,2,4,5],filter:4,fit:0,flag:[0,5],flexibl:3,flow:3,focal:[1,2],folder:4,footer:4,footertext:[0,4],forc:4,forev:2,format:[0,3,4],forward:[0,5],fossa:[1,2],four:3,from:[0,2,5],frontend:[1,3,4,5],frontendpath:4,fssl:5,futur:1,geco:[],gener:[0,5],genrsa:[0,5],get:[0,1,2,5],github:2,githubusercont:[],give:3,given:[0,4],gmail:4,googl:[1,3],googleusercont:4,group:[0,5],h_mm_ss:4,handl:[0,3],has:[0,3],have:[0,2,4,5],hello:[],help:1,helpdesk:[3,4],here:5,home:[0,4,5],host:[0,2,3,4],href:[0,4],hs256:4,hs384:4,hs512:4,html:4,http:[0,3,4,5],http_upgrad:0,httponli:[3,4],identifi:[4,5],idia:[],idl:4,idletimeout:4,imag:0,implement:3,includ:5,incom:0,inform:[0,4],infotext:[0,4],init_exit_aft:[],initial_timeout:4,instal:[1,3],instanc:4,institut:[0,4],instruct:[0,1,2],integ:4,interfac:[3,4],intern:[0,4],introduct:1,issu:3,issuer:[0,4],item:4,itself:3,javascript:0,json:[0,5],jsonc:0,just:2,jwt:[3,4],keep:2,kei:[0,3,4,5],kern:2,keyalgorithm:1,kill:[0,4,5],killcommand:[0,4],last:4,latest:[2,5],layout:3,ldap:[0,1,3],ldapopt:4,least:[],level:[0,4],lib:5,librari:3,lifetim:4,like:[2,4],line:0,list:4,listen:[0,4],live:3,local:[0,1,5],localhost:[0,4],locat:[0,4],log:[0,4,5],logfiletempl:[0,4],login:0,logintext:[0,4],logo:4,logoutaddress:4,lookup:[0,4],lts:[],mai:[0,2],mailto:[0,4],make:[0,4,5],manag:[2,3],map:0,match:0,max:4,maximum:4,method:[0,4],metric:3,millisecond:4,min:4,minimum:4,minitem:4,minlength:4,minut:4,mkdir:5,mode:3,modif:0,modul:0,mongodb:[0,3,4,5],more:[2,3,4],most:[],multipl:0,must:[0,3,4],my_auth_server_public_kei:4,myapp:4,name:[0,4],nativ:5,need:[0,3,4],network:4,no_http:0,no_log:0,node:[3,5],node_modul:[],nodej:[3,5],nodesourc:5,non:3,nopasswd:0,note:5,notic:0,npm:[2,3,5],number:[3,4],nvm:[],nvm_bin:[],oauth2:[3,4],object:4,occur:5,old:0,older:0,omit:4,omp_thread:4,one:4,onli:[0,4,5],openssl:[0,5],option:[0,2,4,5],order:0,org:4,other:[0,4],our:2,out:[0,4,5],outform:[0,5],over:0,overrid:0,own:5,packag:[2,4],pair:0,pam:[0,3,4,5],paramet:4,pars:4,part:5,pass:[3,4,5],password:[0,3,4],passwordless:5,path:[0,4],pattern:4,pem:[0,4,5],perm:5,permit:0,persist:[],pgrep:0,pid:[0,4],place:3,placehold:4,plain:4,pleas:[0,2,3,4,5],pm2:2,png:4,point:[0,3],port:[0,3,4,5],posit:0,possibl:[0,2],ppa:[2,5],prefer:3,preserv:[0,4],preserveenv:[0,4],privat:[0,3,4,5],privatekeyloc:[0,4],privileg:0,problem:[0,3,4],process:[0,1,3,4,5],processcommand:[0,4],profil:[],properti:4,provid:[0,1,2,3,4,5],proxi:[0,3,4],proxy_cache_bypass:0,proxy_http_vers:0,proxy_pass:0,proxy_set_head:0,ps256:4,ps384:4,ps512:4,publickeyloc:[0,4],pubout:[0,5],rang:4,raw:[],read:0,reason:[],reboot:[2,5],recommend:2,reconnect:4,red:4,redirect:[0,3],ref:[],refer:[2,4,5],refresh:[0,3,4],refreshtokenag:4,releas:2,relev:5,reload:0,remot:0,remote_addr:0,render:1,replac:4,repo:[3,5],repositori:[2,5],request:0,request_uri:0,requir:[0,2,3],respect:[0,4],respons:4,restrict:0,rgb:4,root:[],rootfoldertempl:[0,4],rout:4,rs256:4,rs384:4,rs512:4,rsa:[0,5],run:[0,1,3,4],safe:0,same:0,sampl:5,save:5,schema:[0,1],scope:4,script:[0,2,4],search:4,searchbas:4,searchfilt:4,searchscop:4,section:5,secur:[],see:4,send:4,serv:[0,3],server:[0,3,4,5],server_nam:0,serveraddress:[0,4],serverinterfac:[0,4],serverport:[0,4],servic:5,session:3,set:0,setenv:0,setup_lt:5,shadow:[0,5],shell:5,should:[2,3,4,5],sign:[0,3,4],simpl:3,some:3,sourc:2,span:[0,4],specif:0,specifi:[0,4],ssl:[0,4],ssl_certif:0,ssl_certificate_kei:0,standard:[0,3],start:[0,2,4,5],startdelai:4,starttl:4,startup:2,step:1,still:[3,4],stop:0,store:3,strict:4,strictdn:4,string:4,strongli:0,stub:4,style:0,sub:4,subfold:4,submit:3,sudo:[0,4,5],sudoer:[0,5],suggest:[0,4],support:[0,1,5],suppress:0,svg:[0,4],system:[1,2,3,4,5],tabl:[0,4],tag:3,team:5,test:[0,3,4],text:4,than:4,thei:[0,5],them:[3,5],thi:[0,1,3,4,5],thread:[],three:[],through:4,time:4,token:[0,3,4],tokenrefreshaddress:4,too:0,tool:[1,5],top:[0,4],top_level_fold:0,traffic:0,translat:0,trust:0,txt:4,type:4,ubuntu:[1,2],uid:4,unauthor:0,unchang:5,undefin:4,under:0,uniqu:[0,4],uniquefield:4,unix:[0,5],unnecessari:[],unsaf:5,updat:[0,5],upgrad:0,uri:[0,4],url:4,use:[0,2,3,4],used:[0,3,4,5],useemailasid:4,user1:0,user1_alt:0,user2:0,user:[0,3,4,5],user_id:4,userlookup:4,userlookupt:4,usermod:5,usernam:[0,3,4],usert:4,using:[0,2,4,5],usr:[0,4,5],util:2,v12:5,v14:5,v16:5,valid:[0,3,4],validdomain:4,variabl:0,verifi:4,version:[0,2,3,4,5],via:[0,3,4],visudo:[0,5],wai:0,wait:4,want:3,watch:0,web:3,websocket:0,welcom:[0,4],well:3,what:0,when:[0,2,4],whenev:0,where:5,whether:4,which:[0,2,3],who:5,wish:2,without:[0,2],work:1,world:[],would:[2,4],write:0,you:[0,2,3,4,5],your:[0,2,4,5],yyyymmdd:4},titles:["Configuration","CARTA Controller","Installation","Introduction","CARTA configuration schema","Step-by-step instructions for Ubuntu 20.04.2 (Focal Fossa)"],titleterms:{authent:[0,3],authprovid:4,backend:[0,2,5],carta:[0,1,4,5],configur:[0,4,5],control:[0,1,2,5],creat:5,depend:[3,5],directori:[0,5],extern:4,focal:5,fossa:5,frontend:2,futur:3,gener:[],get:3,googl:4,help:3,instal:[2,5],instruct:5,introduct:3,kei:[],keyalgorithm:4,ldap:4,local:4,nginx:[0,5],other:5,packag:5,permiss:[0,5],pm2:5,requir:5,run:[2,5],schema:4,script:5,set:5,startup:5,step:5,support:3,system:0,ubuntu:5,work:3}})
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
9
9
|
|
|
10
|
-
<title>Step-by-step instructions for Ubuntu 20.04.2 (Focal Fossa) — CARTA Controller
|
|
10
|
+
<title>Step-by-step instructions for Ubuntu 20.04.2 (Focal Fossa) — CARTA Controller 3.0.0-beta.1d documentation</title>
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
@@ -26,7 +26,10 @@ To provide the ``carta`` user with these privileges, you must make modifications
|
|
|
26
26
|
|
|
27
27
|
.. warning::
|
|
28
28
|
Please only edit your sudoers configuration with ``visudo`` or equivalent.
|
|
29
|
-
|
|
29
|
+
|
|
30
|
+
.. note::
|
|
31
|
+
Older versions of ``sudo`` do not support the ``--preserve-env=VARIABLE`` argument. If your version of ``sudo`` is too old, set ``"preserveEnv"`` to ``false`` in your controller configuration, and add ``Defaults env_keep += "CARTA_AUTH_TOKEN"`` to your sudoers configuration.
|
|
32
|
+
|
|
30
33
|
.. _config-authentication:
|
|
31
34
|
|
|
32
35
|
Authentication
|