Skip to content

Commit ed654a6

Browse files
committed
[exoframe-server] Split paths into new module to prevent circular deps
Should fix issues with logger not getting correclty inited
1 parent efcb09f commit ed654a6

File tree

24 files changed

+44
-30
lines changed

24 files changed

+44
-30
lines changed

packages/exoframe-server/src/config/index.js

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,9 @@
22
import { spawn } from 'child_process';
33
import { mkdirSync, readFileSync, statSync, watchFile, writeFileSync } from 'fs';
44
import jsyaml from 'js-yaml';
5-
import { homedir } from 'os';
65
import { join } from 'path';
76
import logger from '../logger/index.js';
8-
9-
// construct paths
10-
const xdgConfigHome = process.env.XDG_CONFIG_HOME || join(homedir(), '.config');
11-
export const baseFolder = join(xdgConfigHome, 'exoframe');
12-
const configPath = join(baseFolder, 'server.config.yml');
13-
const publicKeysPath = join(homedir(), '.ssh');
14-
export const extensionsFolder = join(baseFolder, 'extensions');
15-
export const recipesFolder = join(baseFolder, 'recipes');
16-
// dir for temporary files used to build docker images
17-
export const tempDockerDir = join(baseFolder, 'deploying');
7+
import { baseFolder, configPath, extensionsFolder, logFolder, publicKeysPath, recipesFolder } from './paths.js';
188

199
// create base folder if doesn't exist
2010
try {
@@ -49,9 +39,6 @@ try {
4939
spawn('npm', ['init', '-y', '--silent'], { cwd: recipesFolder });
5040
}
5141

52-
// construct log path
53-
export const logFolder = join(xdgConfigHome, 'exoframe', 'exoframe-server');
54-
5542
// create logs folder if doesn't exist
5643
try {
5744
statSync(logFolder);
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { homedir } from 'os';
2+
import { join } from 'path';
3+
4+
const xdgConfigHome = process.env.XDG_CONFIG_HOME || join(homedir(), '.config');
5+
6+
export const baseFolder = join(xdgConfigHome, 'exoframe');
7+
export const configPath = join(baseFolder, 'server.config.yml');
8+
export const publicKeysPath = join(homedir(), '.ssh');
9+
export const extensionsFolder = join(baseFolder, 'extensions');
10+
export const recipesFolder = join(baseFolder, 'recipes');
11+
export const tempDockerDir = join(baseFolder, 'deploying');
12+
export const logFolder = join(xdgConfigHome, 'exoframe', 'exoframe-server');

packages/exoframe-server/src/db/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import Loki from 'lokijs';
33
import { join } from 'path';
44
// our packages
5-
import { baseFolder } from '../config/index.js';
5+
import { baseFolder } from '../config/paths.js';
66

77
// TTL for auth requests
88
const REQ_TTL =

packages/exoframe-server/src/db/secrets.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import Loki from 'lokijs';
33
import { join } from 'path';
44
// our packages
5-
import { baseFolder } from '../config/index.js';
5+
import { baseFolder } from '../config/paths.js';
66

77
// init in-memory adapter for login requests
88
const memAdapter = new Loki.LokiMemoryAdapter();

packages/exoframe-server/src/docker/build.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* eslint no-async-promise-executor: off */
22
import { join } from 'path';
33
import { pack } from 'tar-fs';
4-
import { tempDockerDir } from '../config/index.js';
4+
import { tempDockerDir } from '../config/paths.js';
55
import logger from '../logger/index.js';
66
import { getBuildargs, getProjectConfig, tagFromConfig, writeStatus } from '../util/index.js';
77
import docker from './docker.js';

packages/exoframe-server/src/docker/templates/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// npm packages
22
import { readFileSync } from 'fs';
33
import { join } from 'path';
4-
import { extensionsFolder } from '../../config/index.js';
4+
import { extensionsFolder } from '../../config/paths.js';
55
import * as dockerfileTemplate from './dockerfile.js';
66
import * as imageTemplate from './image.js';
77
import * as nodeTemplate from './node.js';

packages/exoframe-server/src/docker/traefik.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ import { existsSync, readFileSync, statSync, writeFileSync } from 'fs';
22
import jsyaml from 'js-yaml';
33
import { mkdirp } from 'mkdirp';
44
import { join } from 'path';
5-
import { baseFolder, getConfig, waitForConfig } from '../config/index.js';
5+
import { getConfig, waitForConfig } from '../config/index.js';
6+
import { baseFolder } from '../config/paths.js';
67
import logger from '../logger/index.js';
78
import docker from './docker.js';
89
import { pullImage } from './util.js';

packages/exoframe-server/src/logger/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { join } from 'path';
22
import pino from 'pino';
3-
import { logFolder } from '../config/index.js';
3+
import { logFolder } from '../config/paths.js';
44

55
// prepare level
66
const levelTesting = process.env.NODE_ENV === 'testing' ? 'error' : false;

packages/exoframe-server/src/routes/deploy.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
/* eslint no-await-in-loop: off */
22
import { randomUUID } from 'crypto';
33
import _ from 'highland';
4-
import { getConfig, tempDockerDir } from '../config/index.js';
4+
import { getConfig } from '../config/index.js';
5+
import { tempDockerDir } from '../config/paths.js';
56
import { build } from '../docker/build.js';
67
import { scheduleCleanup, schedulePrune } from '../docker/cleanup.js';
78
import docker from '../docker/docker.js';

packages/exoframe-server/src/routes/setup.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { randomUUID } from 'crypto';
22
import { mkdirSync } from 'fs';
33
import { join } from 'path';
4-
import { getConfig, recipesFolder, tempDockerDir } from '../config/index.js';
4+
import { getConfig } from '../config/index.js';
5+
import { recipesFolder, tempDockerDir } from '../config/paths.js';
56
import { build, buildFromParams } from '../docker/build.js';
67
import docker from '../docker/docker.js';
78
import { createNetwork, initNetwork as getNetwork } from '../docker/network.js';

0 commit comments

Comments
 (0)