diff --git a/app-backend/built/datastore/DataStore.js b/app-backend/built/datastore/DataStore.js new file mode 100644 index 0000000..5ad1388 --- /dev/null +++ b/app-backend/built/datastore/DataStore.js @@ -0,0 +1,343 @@ +"use strict"; +/** + * Created by kasra on 27/06/17. + */ +const Configstore = require("configstore"); +const uuid = require("uuid/v4"); +const fs = require("fs-extra"); +const ApiStatusCodes = require("../api/ApiStatusCodes"); +const CaptainConstants = require("../utils/CaptainConstants"); +const AppsDataStore = require("./AppsDataStore"); +const NAMESPACE = 'namespace'; +const HASHED_PASSWORD = 'hashedPassword'; +const CAPTAIN_REGISTRY_AUTH_SECRET_VER = 'captainRegistryAuthSecretVer'; +const CUSTOM_DOMAIN = 'customDomain'; +const HAS_ROOT_SSL = 'hasRootSsl'; +const FORCE_ROOT_SSL = 'forceRootSsl'; +const HAS_REGISTRY_SSL = 'hasRegistrySsl'; +const HAS_LOCAL_REGISTRY = 'hasLocalRegistry'; +const EMAIL_ADDRESS = 'emailAddress'; +const DOCKER_REGISTRIES = 'dockerRegistries'; +const DEFAULT_DOCKER_REGISTRY = 'defaultDockerReg'; +const NET_DATA_INFO = 'netDataInfo'; +const NGINX_BASE_CONFIG = 'NGINX_BASE_CONFIG'; +const NGINX_CAPTAIN_CONFIG = 'NGINX_CAPTAIN_CONFIG'; +const DEFAULT_CAPTAIN_ROOT_DOMAIN = 'captain.localhost'; +const DEFAULT_NGINX_BASE_CONFIG = fs + .readFileSync(__dirname + '/../../template/base-nginx-conf.ejs') + .toString(); +const DEFAULT_NGINX_CAPTAIN_CONFIG = fs + .readFileSync(__dirname + '/../../template/root-nginx-conf.ejs') + .toString(); +const DEFAULT_NGINX_CONFIG_FOR_APP = fs + .readFileSync(__dirname + '/../../template/server-block-conf.ejs') + .toString(); +class DataStore { + constructor(namespace) { + const data = new Configstore('captain-store', {}); + data.path = CaptainConstants.captainRootDirectory + '/config.conf'; + this.data = data; + this.data.set(NAMESPACE, namespace); + this.appsDataStore = new AppsDataStore(this.data, namespace); + } + setEncryptionSalt(salt) { + this.appsDataStore.setEncryptionSalt(salt); + } + getNameSpace() { + return this.data.get(NAMESPACE); + } + setHashedPassword(newHashedPassword) { + const self = this; + return Promise.resolve().then(function () { + return self.data.set(HASHED_PASSWORD, newHashedPassword); + }); + } + getHashedPassword() { + const self = this; + return Promise.resolve().then(function () { + return self.data.get(HASHED_PASSWORD); + }); + } + /* + "smtp": { + "to": "", + "hostname": "", + "server": "", + "port": "", + "allowNonTls": false, + "password": "", + "username": "" + }, + "slack": { + "hook": "", + "channel": "" + }, + "telegram": { + "botToken": "", + "chatId": "" + }, + "pushBullet": { + "fallbackEmail": "", + "apiToken": "" + } + */ + getNetDataInfo() { + const self = this; + return Promise.resolve().then(function () { + const netDataInfo = self.data.get(NET_DATA_INFO) || {}; + netDataInfo.isEnabled = netDataInfo.isEnabled || false; + netDataInfo.data = netDataInfo.data || {}; + return netDataInfo; + }); + } + setNetDataInfo(netDataInfo) { + const self = this; + return Promise.resolve().then(function () { + return self.data.set(NET_DATA_INFO, netDataInfo); + }); + } + setRegistryAuthSecretVersion(ver) { + const self = this; + return Promise.resolve().then(function () { + return self.data.set(CAPTAIN_REGISTRY_AUTH_SECRET_VER, Number(ver)); + }); + } + getRegistryAuthSecretVersion() { + const self = this; + return Promise.resolve().then(function () { + return self.data.get(CAPTAIN_REGISTRY_AUTH_SECRET_VER) || 0; + }); + } + getImageName(authObj, appName, version) { + let authPrefix = ''; + if (authObj) { + authPrefix = authObj.serveraddress + '/' + authObj.username + '/'; + } + return authPrefix + this.getImageNameWithoutAuthObj(appName, version); + } + getImageNameWithoutAuthObj(appName, versionStr) { + if (versionStr === 0) { + versionStr = '0'; + } + return (this.getImageNameBase() + + appName + + (versionStr ? ':' + versionStr : '')); + } + getImageNameBase() { + return 'img-' + this.getNameSpace() + '--'; + } + getRootDomain() { + return this.data.get(CUSTOM_DOMAIN) || DEFAULT_CAPTAIN_ROOT_DOMAIN; + } + hasCustomDomain() { + return !!this.data.get(CUSTOM_DOMAIN); + } + getServerList() { + const self = this; + let hasRootSsl; + let rootDomain; + return Promise.resolve() + .then(function () { + return self.getHasRootSsl(); + }) + .then(function (val) { + hasRootSsl = val; + return self.getRootDomain(); + }) + .then(function (val) { + rootDomain = val; + }) + .then(function () { + return self.getDefaultAppNginxConfig(); + }) + .then(function (defaultAppNginxConfig) { + return self + .getAppsDataStore() + .getAppsServerConfig(defaultAppNginxConfig, hasRootSsl, rootDomain); + }); + } + getAppsDataStore() { + return this.appsDataStore; + } + getDefaultPushRegistry() { + const self = this; + return Promise.resolve().then(function () { + return self.data.get(DEFAULT_DOCKER_REGISTRY); + }); + } + setDefaultPushRegistry(registryId) { + const self = this; + return Promise.resolve().then(function () { + let found = false; + const registries = self.data.get(DOCKER_REGISTRIES) || []; + for (let i = 0; i < registries.length; i++) { + const registry = registries[i]; + if (registry.id === registryId) { + found = true; + } + } + // registryId can be NULL/Empty, meaning that no registry will be the default push registry + if (!found && !!registryId) { + throw ApiStatusCodes.createError(ApiStatusCodes.NOT_FOUND, 'Registry not found'); + } + self.data.set(DEFAULT_DOCKER_REGISTRY, registryId); + }); + } + deleteRegistry(registryId) { + const self = this; + return Promise.resolve().then(function () { + const newReg = []; + const registries = self.data.get(DOCKER_REGISTRIES) || []; + for (let i = 0; i < registries.length; i++) { + const registry = registries[i]; + if (registry.id !== registryId) { + newReg.push(registry); + } + } + if (newReg.length === registries.length) { + throw ApiStatusCodes.createError(ApiStatusCodes.NOT_FOUND, 'Registry not found'); + } + self.data.set(DOCKER_REGISTRIES, newReg); + }); + } + getAllRegistries() { + const self = this; + return Promise.resolve().then(function () { + return self.data.get(DOCKER_REGISTRIES); + }); + } + addRegistryToDb(registryUser, registryPasswordEncrypted, registryDomain, registryImagePrefix) { + const self = this; + return Promise.resolve() + .then(function () { + return new Promise(function (resolve, reject) { + resolve(self.data.get(DOCKER_REGISTRIES) || []); + }); + }) + .then(function (registries) { + let id = uuid(); + let isAlreadyTaken = true; + while (isAlreadyTaken) { + id = uuid(); + isAlreadyTaken = false; + for (let i = 0; i < registries.length; i++) { + if (registries[i].id === id) { + isAlreadyTaken = true; + break; + } + } + } + registries.push({ + id, + registryUser, + registryPasswordEncrypted, + registryDomain, + registryImagePrefix, + }); + self.data.set(DOCKER_REGISTRIES, registries); + }); + } + setUserEmailAddress(emailAddress) { + const self = this; + return new Promise(function (resolve, reject) { + self.data.set(EMAIL_ADDRESS, emailAddress); + resolve(); + }); + } + getUserEmailAddress() { + const self = this; + return new Promise(function (resolve, reject) { + resolve(self.data.get(EMAIL_ADDRESS)); + }); + } + setHasRootSsl(hasRootSsl) { + const self = this; + return new Promise(function (resolve, reject) { + self.data.set(HAS_ROOT_SSL, hasRootSsl); + resolve(); + }); + } + setForceSsl(forceSsl) { + const self = this; + return new Promise(function (resolve, reject) { + self.data.set(FORCE_ROOT_SSL, forceSsl); + resolve(); + }); + } + getForceSsl() { + const self = this; + return new Promise(function (resolve, reject) { + resolve(self.data.get(FORCE_ROOT_SSL)); + }); + } + setHasRegistrySsl(hasRegistrySsl) { + const self = this; + return new Promise(function (resolve, reject) { + self.data.set(HAS_REGISTRY_SSL, hasRegistrySsl); + resolve(); + }); + } + getDefaultAppNginxConfig() { + const self = this; + return Promise.resolve().then(function () { + return DEFAULT_NGINX_CONFIG_FOR_APP; + }); + } + getNginxConfig() { + const self = this; + return Promise.resolve().then(function () { + return { + baseConfig: { + byDefault: DEFAULT_NGINX_BASE_CONFIG, + customValue: self.data.get(NGINX_BASE_CONFIG), + }, + captainConfig: { + byDefault: DEFAULT_NGINX_CAPTAIN_CONFIG, + customValue: self.data.get(NGINX_CAPTAIN_CONFIG), + }, + }; + }); + } + setNginxConfig(baseConfig, captainConfig) { + const self = this; + return Promise.resolve().then(function () { + self.data.set(NGINX_BASE_CONFIG, baseConfig); + self.data.set(NGINX_CAPTAIN_CONFIG, captainConfig); + }); + } + getHasRootSsl() { + const self = this; + return new Promise(function (resolve, reject) { + resolve(self.data.get(HAS_ROOT_SSL)); + }); + } + setHasLocalRegistry(hasLocalRegistry) { + const self = this; + return new Promise(function (resolve, reject) { + self.data.set(HAS_LOCAL_REGISTRY, hasLocalRegistry); + resolve(); + }); + } + getHasLocalRegistry() { + const self = this; + return new Promise(function (resolve, reject) { + let value = !!self.data.get(HAS_LOCAL_REGISTRY); + resolve(value); + }); + } + getHasRegistrySsl() { + const self = this; + return new Promise(function (resolve, reject) { + resolve(!!self.data.get(HAS_REGISTRY_SSL)); + }); + } + setCustomDomain(customDomain) { + const self = this; + return new Promise(function (resolve, reject) { + self.data.set(CUSTOM_DOMAIN, customDomain); + resolve(); + }); + } +} +module.exports = DataStore; +//# sourceMappingURL=DataStore.js.map \ No newline at end of file diff --git a/app-backend/built/datastore/DataStore.js.map b/app-backend/built/datastore/DataStore.js.map new file mode 100644 index 0000000..38672db --- /dev/null +++ b/app-backend/built/datastore/DataStore.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DataStore.js","sourceRoot":"","sources":["../../src/datastore/DataStore.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/app-backend/built/datastore/DataStoreProvider.js b/app-backend/built/datastore/DataStoreProvider.js index e65d86c..c8b81d5 100644 --- a/app-backend/built/datastore/DataStoreProvider.js +++ b/app-backend/built/datastore/DataStoreProvider.js @@ -2,7 +2,7 @@ /** * Created by kasra on 27/06/17. */ -const DataStore = require("./DataStoreImpl"); +const DataStore = require("./DataStore"); const dataStoreCache = {}; module.exports = { getDataStore: function (namespace) { diff --git a/app-backend/built/datastore/DataStoreProvider.js.map b/app-backend/built/datastore/DataStoreProvider.js.map index 6c51c98..d639eb8 100644 --- a/app-backend/built/datastore/DataStoreProvider.js.map +++ b/app-backend/built/datastore/DataStoreProvider.js.map @@ -1 +1 @@ -{"version":3,"file":"DataStoreProvider.js","sourceRoot":"","sources":["../../src/datastore/DataStoreProvider.ts"],"names":[],"mappings":";AAAA;;GAEG;AAEH,6CAA6C;AAE7C,MAAM,cAAc,GAA+B,EAAE,CAAA;AAErD,iBAAS;IACL,YAAY,EAAE,UAAS,SAAiB;QACpC,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;SACxC;QAED,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;YAC5B,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAA;SACvD;QAED,OAAO,cAAc,CAAC,SAAS,CAAC,CAAA;IACpC,CAAC;CACJ,CAAA"} \ No newline at end of file +{"version":3,"file":"DataStoreProvider.js","sourceRoot":"","sources":["../../src/datastore/DataStoreProvider.ts"],"names":[],"mappings":";AAAA;;GAEG;AAEH,yCAAyC;AAEzC,MAAM,cAAc,GAA+B,EAAE,CAAA;AAErD,iBAAS;IACL,YAAY,EAAE,UAAS,SAAiB;QACpC,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;SACxC;QAED,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;YAC5B,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAA;SACvD;QAED,OAAO,cAAc,CAAC,SAAS,CAAC,CAAA;IACpC,CAAC;CACJ,CAAA"} \ No newline at end of file diff --git a/app-backend/src/datastore/DataStoreImpl.ts b/app-backend/src/datastore/DataStore.ts similarity index 100% rename from app-backend/src/datastore/DataStoreImpl.ts rename to app-backend/src/datastore/DataStore.ts diff --git a/app-backend/src/datastore/DataStoreProvider.ts b/app-backend/src/datastore/DataStoreProvider.ts index 6b07f18..335369c 100644 --- a/app-backend/src/datastore/DataStoreProvider.ts +++ b/app-backend/src/datastore/DataStoreProvider.ts @@ -2,7 +2,7 @@ * Created by kasra on 27/06/17. */ -import DataStore = require('./DataStoreImpl') +import DataStore = require('./DataStore') const dataStoreCache: IHashMapGeneric = {} diff --git a/app-backend/src/models/InjectionInterfaces.ts b/app-backend/src/models/InjectionInterfaces.ts index 70549ce..1060581 100644 --- a/app-backend/src/models/InjectionInterfaces.ts +++ b/app-backend/src/models/InjectionInterfaces.ts @@ -1,4 +1,4 @@ -import DataStore = require('../datastore/DataStoreImpl') +import DataStore = require('../datastore/DataStore') import ServiceManager = require('../user/ServiceManager') export interface UserJwt { diff --git a/app-backend/src/routes/AppDataRouter.ts b/app-backend/src/routes/AppDataRouter.ts index bd35bc2..5dc388f 100644 --- a/app-backend/src/routes/AppDataRouter.ts +++ b/app-backend/src/routes/AppDataRouter.ts @@ -4,7 +4,7 @@ import ApiStatusCodes = require('../api/ApiStatusCodes') import Logger = require('../utils/Logger') import multer = require('multer') import fs = require('fs-extra') -import DataStore = require('../datastore/DataStoreImpl') +import DataStore = require('../datastore/DataStore') import ServiceManager = require('../user/ServiceManager') import InjectionExtractor = require('../injection/InjectionExtractor'); diff --git a/app-backend/src/routes/AppDefinitionRouter.ts b/app-backend/src/routes/AppDefinitionRouter.ts index 81c182d..e2134ba 100644 --- a/app-backend/src/routes/AppDefinitionRouter.ts +++ b/app-backend/src/routes/AppDefinitionRouter.ts @@ -4,7 +4,7 @@ import BaseApi = require('../api/BaseApi') import ApiStatusCodes = require('../api/ApiStatusCodes') import Logger = require('../utils/Logger') import Authenticator = require('../user/Authenticator') -import DataStore = require('../datastore/DataStoreImpl') +import DataStore = require('../datastore/DataStore') import ServiceManager = require('../user/ServiceManager') import { CaptainError } from '../models/OtherTypes' import InjectionExtractor = require('../injection/InjectionExtractor'); diff --git a/app-backend/src/user/Authenticator.ts b/app-backend/src/user/Authenticator.ts index 8376150..2f7e72a 100644 --- a/app-backend/src/user/Authenticator.ts +++ b/app-backend/src/user/Authenticator.ts @@ -1,5 +1,5 @@ import jwt = require('jsonwebtoken') -import DataStore = require('../datastore/DataStoreImpl') +import DataStore = require('../datastore/DataStore') import uuid = require('uuid/v4') import bcrypt = require('bcryptjs') diff --git a/app-backend/src/user/CaptainManager.ts b/app-backend/src/user/CaptainManager.ts index 1675dc1..fab0d74 100644 --- a/app-backend/src/user/CaptainManager.ts +++ b/app-backend/src/user/CaptainManager.ts @@ -11,7 +11,7 @@ import CertbotManager = require('./CertbotManager') import DockerRegistry = require('./DockerRegistry') import ApiStatusCodes = require('../api/ApiStatusCodes') import DataStoreProvider = require('../datastore/DataStoreProvider') -import DataStore = require('../datastore/DataStoreImpl') +import DataStore = require('../datastore/DataStore') import DockerApi = require('../docker/DockerApi') const DEBUG_SALT = 'THIS IS NOT A REAL CERTIFICATE' diff --git a/app-backend/src/user/DockerRegistry.ts b/app-backend/src/user/DockerRegistry.ts index 7e780ad..d9e53c4 100644 --- a/app-backend/src/user/DockerRegistry.ts +++ b/app-backend/src/user/DockerRegistry.ts @@ -6,7 +6,7 @@ import uuid = require('uuid/v4') import ApiStatusCodes = require('../api/ApiStatusCodes') import bcrypt = require('bcryptjs') import DockerApi = require('../docker/DockerApi') -import DataStore = require('../datastore/DataStoreImpl') +import DataStore = require('../datastore/DataStore') import CertbotManager = require('../user/CertbotManager') import LoadBalancerManager = require('../user/LoadBalancerManager') import CaptainManager = require('../user/CaptainManager') diff --git a/app-backend/src/user/LoadBalancerManager.ts b/app-backend/src/user/LoadBalancerManager.ts index ec4bfe4..9de5c77 100644 --- a/app-backend/src/user/LoadBalancerManager.ts +++ b/app-backend/src/user/LoadBalancerManager.ts @@ -6,7 +6,7 @@ import uuid = require('uuid/v4') import request = require('request') import ApiStatusCodes = require('../api/ApiStatusCodes') import DockerApi = require('../docker/DockerApi') -import DataStore = require('../datastore/DataStoreImpl') +import DataStore = require('../datastore/DataStore') import CertbotManager = require('./CertbotManager') import { AnyError } from '../models/OtherTypes'; diff --git a/app-backend/src/user/ServiceManager.ts b/app-backend/src/user/ServiceManager.ts index 2788a99..12669a9 100644 --- a/app-backend/src/user/ServiceManager.ts +++ b/app-backend/src/user/ServiceManager.ts @@ -6,7 +6,7 @@ import path = require('path') import CaptainManager = require('./CaptainManager') import LoadBalancerManager = require('./LoadBalancerManager') import DockerApi = require('../docker/DockerApi') -import DataStore = require('../datastore/DataStoreImpl') +import DataStore = require('../datastore/DataStore') import ApiStatusCodes = require('../api/ApiStatusCodes') import TemplateHelper = require('./TemplateHelper') import Authenticator = require('./Authenticator')