Page MenuHomePhabricator

D11075.diff
No OneTemporary

D11075.diff

diff --git a/scripts/set-admin-data.js b/scripts/set-admin-data.js
new file mode 100644
--- /dev/null
+++ b/scripts/set-admin-data.js
@@ -0,0 +1,84 @@
+/* eslint-disable flowtype/require-valid-file-annotation */
+
+const fs = require('fs');
+const readline = require('readline');
+
+// Create an interface for reading input
+const rl = readline.createInterface({
+ input: process.stdin,
+ output: process.stdout,
+});
+
+const data = {};
+
+rl.question('username: ', value1 => {
+ data.username = value1;
+
+ rl.question('password: ', value2 => {
+ data.password = value2;
+
+ rl.question('user id: ', value3 => {
+ data.id = value3;
+
+ writeFiles(data);
+
+ // Close the readline interface
+ rl.close();
+ });
+ });
+});
+
+function writeFiles(credentials) {
+ try {
+ const userCredentials = {
+ username: credentials.username,
+ password: credentials.password,
+ usingIdentityCredentials: true,
+ };
+ const userCredentialsJSON = JSON.stringify(userCredentials, null, 2);
+ const keyserverSecrets = 'keyserver/secrets';
+ if (!fs.existsSync(keyserverSecrets)) {
+ fs.mkdirSync(keyserverSecrets);
+ }
+ fs.writeFileSync(
+ 'keyserver/secrets/user_credentials.json',
+ userCredentialsJSON,
+ );
+
+ // Create configs containing authoritative keyservers data.
+ // Because we have different mechanisms for fetching configs,
+ // we need this config in two places
+
+ const authoritativeKeyserver = {
+ authoritativeKeyserverID: credentials.id,
+ };
+ const authoritativeKeyserverJSON = JSON.stringify(
+ authoritativeKeyserver,
+ null,
+ 2,
+ );
+ const nativeFacts = 'native/facts';
+ if (!fs.existsSync(nativeFacts)) {
+ fs.mkdirSync(nativeFacts);
+ }
+ fs.writeFileSync(
+ 'native/facts/authoritative_keyserver.json',
+ authoritativeKeyserverJSON,
+ );
+
+ const keyserverFacts = 'keyserver/facts';
+ if (!fs.existsSync(keyserverFacts)) {
+ fs.mkdirSync(keyserverFacts);
+ }
+ fs.writeFileSync(
+ 'keyserver/facts/authoritative_keyserver.json',
+ authoritativeKeyserverJSON,
+ );
+ } catch (e) {
+ console.error(
+ 'Failure creating configuration files: ' +
+ 'admin data could not be correctly written',
+ );
+ throw e;
+ }
+}

File Metadata

Mime Type
text/plain
Expires
Thu, Dec 26, 12:54 PM (15 m, 9 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2706871
Default Alt Text
D11075.diff (2 KB)

Event Timeline