mirror of
https://github.com/caprover/caprover
synced 2026-09-23 07:05:35 +00:00
moved all backupable data to a separate directory
This commit is contained in:
@@ -31,9 +31,9 @@ if (CaptainConstants.isDebug) {
|
||||
app.use('*', function (req, res, next) {
|
||||
res.setHeader('Access-Control-Allow-Origin', '*');
|
||||
res.setHeader('Access-Control-Allow-Credentials', 'true');
|
||||
res.setHeader('Access-Control-Allow-Headers', CaptainConstants.header.namespace +
|
||||
res.setHeader('Access-Control-Allow-Headers', CaptainConstants.headerNamespace +
|
||||
',' +
|
||||
CaptainConstants.header.auth +
|
||||
CaptainConstants.headerAuth +
|
||||
',Content-Type');
|
||||
next();
|
||||
});
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -31,7 +31,7 @@ const DEFAULT_NGINX_CONFIG_FOR_APP = fs
|
||||
class DataStore {
|
||||
constructor(namespace) {
|
||||
const data = new Configstore('captain-store', {}, {
|
||||
configPath: CaptainConstants.captainRootDirectory + '/config.json',
|
||||
configPath: CaptainConstants.captainDataDirectory + '/config.json',
|
||||
});
|
||||
this.data = data;
|
||||
this.namespace = namespace;
|
||||
|
||||
@@ -19,7 +19,7 @@ function injectGlobal() {
|
||||
return function (req, res, next) {
|
||||
const locals = res.locals;
|
||||
locals.initialized = CaptainManager.get().isInitialized();
|
||||
locals.namespace = req.header(CaptainConstants.header.namespace);
|
||||
locals.namespace = req.header(CaptainConstants.headerNamespace);
|
||||
locals.forceSsl = CaptainManager.get().getForceSslValue();
|
||||
if (locals.namespace &&
|
||||
locals.namespace !== CaptainConstants.rootNameSpace) {
|
||||
@@ -40,7 +40,7 @@ function injectUser() {
|
||||
}
|
||||
const namespace = res.locals.namespace;
|
||||
Authenticator.get(namespace)
|
||||
.decodeAuthToken(req.header(CaptainConstants.header.auth) || '')
|
||||
.decodeAuthToken(req.header(CaptainConstants.headerAuth) || '')
|
||||
.then(function (userDecoded) {
|
||||
if (userDecoded) {
|
||||
const datastore = DataStoreProvider.getDataStore(namespace);
|
||||
@@ -128,7 +128,7 @@ exports.injectUserForWebhook = injectUserForWebhook;
|
||||
function injectUserUsingCookieDataOnly() {
|
||||
return function (req, res, next) {
|
||||
Authenticator.get(CaptainConstants.rootNameSpace)
|
||||
.decodeAuthTokenFromCookies(req.cookies[CaptainConstants.header.cookieAuth])
|
||||
.decodeAuthTokenFromCookies(req.cookies[CaptainConstants.headerCookieAuth])
|
||||
.then(function (user) {
|
||||
res.locals.user = user;
|
||||
next();
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"Injector.js","sourceRoot":"","sources":["../../src/injection/Injector.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"Injector.js","sourceRoot":"","sources":["../../src/injection/Injector.ts"],"names":[],"mappings":";;AAAA,oEAAoE;AACpE,uDAAuD;AACvD,8DAA8D;AAC9D,yDAAyD;AACzD,yDAAyD;AACzD,yDAAyD;AACzD,0CAA0C;AAE1C,0CAA0C;AAG1C,2DAA2D;AAC3D,wDAAwD;AAExD,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,EAAE,CAAA;AAEzC,MAAM,kBAAkB,GAAG,EAAqC,CAAA;AAEhE;;GAEG;AACH,SAAgB,YAAY;IACxB,OAAO,UAAS,GAAY,EAAE,GAAa,EAAE,IAAkB;QAC3D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;QAEzB,MAAM,CAAC,WAAW,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;QACzD,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAA;QAC/D,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAA;QAEzD,IACI,MAAM,CAAC,SAAS;YAChB,MAAM,CAAC,SAAS,KAAK,gBAAgB,CAAC,aAAa,EACrD;YACE,MAAM,cAAc,CAAC,WAAW,CAC5B,cAAc,CAAC,oBAAoB,EACnC,mBAAmB,CACtB,CAAA;SACJ;QAED,IAAI,EAAE,CAAA;IACV,CAAC,CAAA;AACL,CAAC;AApBD,oCAoBC;AAED;;GAEG;AACH,SAAgB,UAAU;IACtB,OAAO,UAAS,GAAY,EAAE,GAAa,EAAE,IAAkB;QAC3D,IAAI,kBAAkB,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;YACtD,IAAI,EAAE,CAAA;YACN,OAAM,CAAC,4CAA4C;SACtD;QAED,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAA;QAEtC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;aACvB,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;aAC9D,IAAI,CAAC,UAAS,WAAW;YACtB,IAAI,WAAW,EAAE;gBACb,MAAM,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;gBAC3D,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE;oBAChC,kBAAkB,CAAC,SAAS,CAAC,GAAG,IAAI,cAAc,CAC9C,SAAS,EACT,SAAS,EACT,cAAc,CAAC,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAC/C,CAAA;iBACJ;gBACD,MAAM,IAAI,GAA2B;oBACjC,SAAS,EAAE,SAAS;oBACpB,SAAS,EAAE,SAAS;oBACpB,cAAc,EAAE,kBAAkB,CAAC,SAAS,CAAC;oBAC7C,WAAW,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;iBACxD,CAAA;gBACD,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;aACzB;YAED,IAAI,EAAE,CAAA;QACV,CAAC,CAAC;aACD,KAAK,CAAC,UAAS,KAAmB;YAC/B,IAAI,KAAK,IAAI,KAAK,CAAC,gBAAgB,EAAE;gBACjC,GAAG,CAAC,IAAI,CACJ,IAAI,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,UAAU,CAAC,CACxD,CAAA;gBACD,OAAM;aACT;YACD,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACf,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAA;YAC3B,IAAI,EAAE,CAAA;QACV,CAAC,CAAC,CAAA;IACV,CAAC,CAAA;AACL,CAAC;AA5CD,gCA4CC;AAED;;GAEG;AACH,SAAgB,oBAAoB;IAChC,OAAO,UAAS,GAAY,EAAE,GAAa,EAAE,IAAkB;QAC3D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAA;QAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAA;QACrC,IAAI,GAAG,GAAG,SAAS,CAAA;QAEnB,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE;YACtB,MAAM,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAA;YAC3D,IAAI,EAAE,CAAA;YACN,OAAM;SACT;QAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QAE3D,IAAI,WAAuC,CAAA;QAE3C,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;aACvB,yBAAyB,CAAC,KAAK,CAAC;aAChC,IAAI,CAAC,UAAS,IAAI;YACf,WAAW,GAAG,IAAI,CAAA;YAElB,OAAO,SAAS;iBACX,gBAAgB,EAAE;iBAClB,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAC9C,CAAC,CAAC;aACD,IAAI,CAAC,UAAS,QAAQ;YACnB,GAAG,GAAG,QAAQ,CAAA;YAEd,IACI,GAAG,CAAC,cAAc;gBAClB,GAAG,CAAC,cAAc,CAAC,YAAY,KAAK,WAAW,CAAC,YAAY,EAC9D;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;aAC7C;YAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;YAE3D,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE;gBAChC,kBAAkB,CAAC,SAAS,CAAC,GAAG,IAAI,cAAc,CAC9C,SAAS,EACT,SAAS,EACT,cAAc,CAAC,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAC/C,CAAA;aACJ;YAED,MAAM,IAAI,GAA2B;gBACjC,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,SAAS;gBACpB,cAAc,EAAE,kBAAkB,CAAC,SAAS,CAAC;gBAC7C,WAAW,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;aACxD,CAAA;YAED,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;YACtB,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAA;YACpB,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAA;YAExC,IAAI,EAAE,CAAA;QACV,CAAC,CAAC;aACD,KAAK,CAAC,UAAS,KAAK;YACjB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,CAAA;YAC1B,IAAI,EAAE,CAAA;QACV,CAAC,CAAC,CAAA;IACV,CAAC,CAAA;AACL,CAAC;AAhED,oDAgEC;AAED;;;GAGG;AACH,SAAgB,6BAA6B;IACzC,OAAO,UAAS,GAAY,EAAE,GAAa,EAAE,IAAkB;QAC3D,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,aAAa,CAAC;aAC5C,0BAA0B,CACvB,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CACjD;aACA,IAAI,CAAC,UAAS,IAAI;YACf,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;YAEtB,IAAI,EAAE,CAAA;QACV,CAAC,CAAC;aACD,KAAK,CAAC,UAAS,KAAK;YACjB,IAAI,KAAK,IAAI,KAAK,CAAC,gBAAgB,EAAE;gBACjC,GAAG,CAAC,IAAI,CACJ,IAAI,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,UAAU,CAAC,CACxD,CAAA;gBACD,OAAM;aACT;YACD,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACf,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAA;YAC3B,IAAI,EAAE,CAAA;QACV,CAAC,CAAC,CAAA;IACV,CAAC,CAAA;AACL,CAAC;AAvBD,sEAuBC"}
|
||||
@@ -23,7 +23,7 @@ router.post('/', function (req, res, next) {
|
||||
return Authenticator.get(namespace).getAuthTokenForCookies(password);
|
||||
})
|
||||
.then(function (cookieAuth) {
|
||||
res.cookie(CaptainConstants.header.cookieAuth, cookieAuth);
|
||||
res.cookie(CaptainConstants.headerCookieAuth, cookieAuth);
|
||||
let baseApi = new BaseApi(ApiStatusCodes.STATUS_OK, 'Login succeeded');
|
||||
baseApi.data = { token: authToken };
|
||||
res.send(baseApi);
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"LoginRouter.js","sourceRoot":"","sources":["../../src/routes/LoginRouter.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC,0CAA0C;AAC1C,uDAAuD;AACvD,wDAAwD;AAExD,8DAA8D;AAC9D,sEAAsE;AAEtE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;AAE/B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,UAAS,GAAG,EAAE,GAAG,EAAE,IAAI;IACpC,IAAI,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAA;IAEtC,IAAI,CAAC,QAAQ,EAAE;QACX,IAAI,QAAQ,GAAG,IAAI,OAAO,CACtB,cAAc,CAAC,oBAAoB,EACnC,oBAAoB,CACvB,CAAA;QACD,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAClB,OAAM;KACT;IAED,IAAI,SAAiB,CAAA;IAErB,MAAM,SAAS,GAAG,kBAAkB,CAAC,0BAA0B,CAAC,GAAG,CAAC;SAC/D,SAAS,CAAA;IAEd,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;SACvB,YAAY,CAAC,QAAQ,CAAC;SACtB,IAAI,CAAC,UAAS,KAAK;QAChB,SAAS,GAAG,KAAK,CAAA;QACjB,OAAO,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IACxE,CAAC,CAAC;SACD,IAAI,CAAC,UAAS,UAAU;QACrB,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;QAC1D,IAAI,OAAO,GAAG,IAAI,OAAO,CACrB,cAAc,CAAC,SAAS,EACxB,iBAAiB,CACpB,CAAA;QACD,OAAO,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;QACnC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrB,CAAC,CAAC;SACD,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;AACjD,CAAC,CAAC,CAAA;AAEF,iBAAS,MAAM,CAAA"}
|
||||
{"version":3,"file":"LoginRouter.js","sourceRoot":"","sources":["../../src/routes/LoginRouter.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC,0CAA0C;AAC1C,uDAAuD;AACvD,wDAAwD;AAExD,8DAA8D;AAC9D,sEAAsE;AAEtE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;AAE/B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,UAAS,GAAG,EAAE,GAAG,EAAE,IAAI;IACpC,IAAI,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAA;IAEtC,IAAI,CAAC,QAAQ,EAAE;QACX,IAAI,QAAQ,GAAG,IAAI,OAAO,CACtB,cAAc,CAAC,oBAAoB,EACnC,oBAAoB,CACvB,CAAA;QACD,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAClB,OAAM;KACT;IAED,IAAI,SAAiB,CAAA;IAErB,MAAM,SAAS,GAAG,kBAAkB,CAAC,0BAA0B,CAAC,GAAG,CAAC;SAC/D,SAAS,CAAA;IAEd,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;SACvB,YAAY,CAAC,QAAQ,CAAC;SACtB,IAAI,CAAC,UAAS,KAAK;QAChB,SAAS,GAAG,KAAK,CAAA;QACjB,OAAO,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IACxE,CAAC,CAAC;SACD,IAAI,CAAC,UAAS,UAAU;QACrB,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;QACzD,IAAI,OAAO,GAAG,IAAI,OAAO,CACrB,cAAc,CAAC,SAAS,EACxB,iBAAiB,CACpB,CAAA;QACD,OAAO,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;QACnC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrB,CAAC,CAAC;SACD,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;AACjD,CAAC,CAAC,CAAA;AAEF,iBAAS,MAAM,CAAA"}
|
||||
@@ -1,71 +1,72 @@
|
||||
"use strict";
|
||||
const fs = require("fs-extra");
|
||||
const EnvVars = require("./EnvVars");
|
||||
const CAPTAIN_ROOT_DIRECTORY = '/captain';
|
||||
const CONSTANT_FILE_OVERRIDE = CAPTAIN_ROOT_DIRECTORY + '/constants.conf';
|
||||
const CAPTAIN_ROOT_DIRECTORY_TEMP = CAPTAIN_ROOT_DIRECTORY + '/temp';
|
||||
const CAPTAIN_ROOT_DIRECTORY_GENERATED = CAPTAIN_ROOT_DIRECTORY + '/generated';
|
||||
const CAPTAIN_BASE_DIRECTORY = '/captain';
|
||||
const CAPTAIN_DATA_DIRECTORY = +CAPTAIN_BASE_DIRECTORY + '/data'; // data that sits here can be backed up
|
||||
const CAPTAIN_ROOT_DIRECTORY_TEMP = CAPTAIN_BASE_DIRECTORY + '/temp';
|
||||
const CAPTAIN_ROOT_DIRECTORY_GENERATED = CAPTAIN_BASE_DIRECTORY + '/generated';
|
||||
const CONSTANT_FILE_OVERRIDE = CAPTAIN_DATA_DIRECTORY + '/constants.json';
|
||||
let data = {
|
||||
// ******************** Global Constants *********************
|
||||
apiVersion: 'v1',
|
||||
version: '0.7.3',
|
||||
isDebug: EnvVars.CAPTAIN_IS_DEBUG,
|
||||
captainServiceExposedPort: 3000,
|
||||
rootNameSpace: 'captain',
|
||||
// *********************** Disk Paths ************************
|
||||
dockerSocketPath: '/var/run/docker.sock',
|
||||
sourcePathInContainer: '/usr/src/app',
|
||||
nginxStaticRootDir: '/usr/share/nginx',
|
||||
nginxDefaultHtmlDir: '/default',
|
||||
letsEncryptEtcPathOnNginx: '/letencrypt/etc',
|
||||
nginxSharedPathOnNginx: '/nginx-shared',
|
||||
nginxDomainSpecificHtmlDir: '/domains',
|
||||
captainConfirmationPath: '/.well-known/captain-identifier',
|
||||
captainBaseDirectory: CAPTAIN_BASE_DIRECTORY,
|
||||
captainRootDirectoryTemp: CAPTAIN_ROOT_DIRECTORY_TEMP,
|
||||
captainRawSourceDirectoryBase: CAPTAIN_ROOT_DIRECTORY_TEMP + '/image_raw',
|
||||
captainRootDirectoryGenerated: CAPTAIN_ROOT_DIRECTORY_GENERATED,
|
||||
registryAuthPathOnHost: CAPTAIN_ROOT_DIRECTORY_GENERATED + '/registry-auth',
|
||||
captainStaticFilesDir: CAPTAIN_ROOT_DIRECTORY_GENERATED + '/static',
|
||||
baseNginxConfigPath: CAPTAIN_ROOT_DIRECTORY_GENERATED + '/nginx/nginx.conf',
|
||||
rootNginxConfigPath: CAPTAIN_ROOT_DIRECTORY_GENERATED + '/nginx/conf.d/captain-root',
|
||||
perAppNginxConfigPathBase: CAPTAIN_ROOT_DIRECTORY_GENERATED + '/nginx/conf.d',
|
||||
captainDataDirectory: CAPTAIN_DATA_DIRECTORY,
|
||||
letsEncryptLibPath: CAPTAIN_DATA_DIRECTORY + '/letencrypt/lib',
|
||||
letsEncryptEtcPath: CAPTAIN_DATA_DIRECTORY + '/letencrypt/etc',
|
||||
registryPathOnHost: CAPTAIN_DATA_DIRECTORY + '/registry',
|
||||
nginxSharedPathOnHost: CAPTAIN_DATA_DIRECTORY + '/nginx-shared',
|
||||
debugSourceDirectory: '',
|
||||
// **************** DockerHub Image Names ********************
|
||||
publishedNameOnDockerHub: 'dockersaturn/captainduckduck',
|
||||
certbotImageName: 'dockersaturn/certbot-sleeping:v0.17.0',
|
||||
netDataImageName: 'titpetric/netdata:1.8',
|
||||
registryImageName: 'registry:2',
|
||||
appPlaceholderImageName: 'dockersaturn/app-placeholder:latest',
|
||||
nginxImageName: 'nginx',
|
||||
// ********************* Local Docker Constants ************************
|
||||
defaultEmail: 'runner@captainduckduck.com',
|
||||
defaultMaxLogSize: '512m',
|
||||
buildLogSize: 50,
|
||||
isDebug: EnvVars.CAPTAIN_IS_DEBUG,
|
||||
version: '0.7.3',
|
||||
captainSaltSecretKey: 'captain-salt',
|
||||
nginxServiceName: 'captain-nginx',
|
||||
nginxPortNumber: 80,
|
||||
rootNameSpace: 'captain',
|
||||
captainServiceName: 'captain-captain',
|
||||
certbotServiceName: 'captain-certbot',
|
||||
netDataContainerName: 'captain-netdata-container',
|
||||
netDataRelativePath: '/net-data-monitor',
|
||||
registryServiceName: 'captain-registry',
|
||||
captainNetworkName: 'captain-overlay-network',
|
||||
captainRegistryUsername: 'captain',
|
||||
// ********************* HTTP Related Constants ************************
|
||||
preCheckForWildCard: true,
|
||||
nginxPortNumber: 80,
|
||||
registrySubDomainPort: 996,
|
||||
netDataRelativePath: '/net-data-monitor',
|
||||
healthCheckEndPoint: '/checkhealth',
|
||||
captainSubDomain: 'captain',
|
||||
registrySubDomain: 'registry',
|
||||
registryServiceName: 'captain-registry',
|
||||
registrySubDomainPort: 996,
|
||||
captainRegistryUsername: 'captain',
|
||||
captainNetworkName: 'captain-overlay-network',
|
||||
header: {
|
||||
cookieAuth: 'captainCookieAuth',
|
||||
auth: 'x-captain-auth',
|
||||
namespace: 'x-namespace',
|
||||
},
|
||||
healthCheckEndPoint: '/checkhealth',
|
||||
prefixManagerNode: 'captainManager',
|
||||
prefixWorkerNode: 'captainWorker',
|
||||
dockerSocketPath: '/var/run/docker.sock',
|
||||
sourcePathInContainer: '/usr/src/app',
|
||||
captainServiceExposedPort: 3000,
|
||||
nginxStaticRootDir: '/usr/share/nginx',
|
||||
nginxDefaultHtmlDir: '/default',
|
||||
nginxDomainSpecificHtmlDir: '/domains',
|
||||
captainConfirmationPath: '/.well-known/captain-identifier',
|
||||
captainRootDirectory: CAPTAIN_ROOT_DIRECTORY,
|
||||
captainRootDirectoryTemp: CAPTAIN_ROOT_DIRECTORY_TEMP,
|
||||
captainRootDirectoryGenerated: CAPTAIN_ROOT_DIRECTORY_GENERATED,
|
||||
letsEncryptLibPath: CAPTAIN_ROOT_DIRECTORY + '/letencrypt/lib',
|
||||
letsEncryptEtcPath: CAPTAIN_ROOT_DIRECTORY + '/letencrypt/etc',
|
||||
registryPathOnHost: CAPTAIN_ROOT_DIRECTORY + '/registry',
|
||||
registryAuthPathOnHost: CAPTAIN_ROOT_DIRECTORY_GENERATED + '/registry-auth',
|
||||
nginxSharedPathOnHost: CAPTAIN_ROOT_DIRECTORY + '/nginx-shared',
|
||||
letsEncryptEtcPathOnNginx: '/letencrypt/etc',
|
||||
nginxSharedPathOnNginx: '/nginx-shared',
|
||||
captainStaticFilesDir: CAPTAIN_ROOT_DIRECTORY_GENERATED + '/static',
|
||||
captainRawSourceDirectoryBase: CAPTAIN_ROOT_DIRECTORY_TEMP + '/image_raw',
|
||||
captainTarImagesDir: CAPTAIN_ROOT_DIRECTORY_TEMP + '/img_tar',
|
||||
captainDefinitionTempDir: CAPTAIN_ROOT_DIRECTORY_TEMP + '/captain_definition',
|
||||
baseNginxConfigPath: CAPTAIN_ROOT_DIRECTORY_GENERATED + '/nginx/nginx.conf',
|
||||
rootNginxConfigPath: CAPTAIN_ROOT_DIRECTORY_GENERATED + '/nginx/conf.d/captain-root',
|
||||
perAppNginxConfigPathBase: CAPTAIN_ROOT_DIRECTORY_GENERATED + '/nginx/conf.d',
|
||||
debugSourceDirectory: '',
|
||||
headerCookieAuth: 'captainCookieAuth',
|
||||
headerAuth: 'x-captain-auth',
|
||||
headerNamespace: 'x-namespace',
|
||||
};
|
||||
let overridingValues = fs.readJsonSync(CONSTANT_FILE_OVERRIDE, {
|
||||
throws: false,
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"CaptainConstants.js","sourceRoot":"","sources":["../../src/utils/CaptainConstants.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"CaptainConstants.js","sourceRoot":"","sources":["../../src/utils/CaptainConstants.ts"],"names":[],"mappings":"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"}
|
||||
@@ -202,8 +202,8 @@ function install() {
|
||||
.then(function (nodeId) {
|
||||
let volumeToMount = [
|
||||
{
|
||||
hostPath: CaptainConstants.captainRootDirectory,
|
||||
containerPath: CaptainConstants.captainRootDirectory,
|
||||
hostPath: CaptainConstants.captainBaseDirectory,
|
||||
containerPath: CaptainConstants.captainBaseDirectory,
|
||||
},
|
||||
];
|
||||
let env = [];
|
||||
|
||||
@@ -41,9 +41,9 @@ if (CaptainConstants.isDebug) {
|
||||
res.setHeader('Access-Control-Allow-Credentials', 'true')
|
||||
res.setHeader(
|
||||
'Access-Control-Allow-Headers',
|
||||
CaptainConstants.header.namespace +
|
||||
CaptainConstants.headerNamespace +
|
||||
',' +
|
||||
CaptainConstants.header.auth +
|
||||
CaptainConstants.headerAuth +
|
||||
',Content-Type'
|
||||
)
|
||||
next()
|
||||
|
||||
@@ -45,7 +45,7 @@ class DataStore {
|
||||
{},
|
||||
{
|
||||
configPath:
|
||||
CaptainConstants.captainRootDirectory + '/config.json',
|
||||
CaptainConstants.captainDataDirectory + '/config.json',
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ export function injectGlobal() {
|
||||
const locals = res.locals
|
||||
|
||||
locals.initialized = CaptainManager.get().isInitialized()
|
||||
locals.namespace = req.header(CaptainConstants.header.namespace)
|
||||
locals.namespace = req.header(CaptainConstants.headerNamespace)
|
||||
locals.forceSsl = CaptainManager.get().getForceSslValue()
|
||||
|
||||
if (
|
||||
@@ -54,7 +54,7 @@ export function injectUser() {
|
||||
const namespace = res.locals.namespace
|
||||
|
||||
Authenticator.get(namespace)
|
||||
.decodeAuthToken(req.header(CaptainConstants.header.auth) || '')
|
||||
.decodeAuthToken(req.header(CaptainConstants.headerAuth) || '')
|
||||
.then(function(userDecoded) {
|
||||
if (userDecoded) {
|
||||
const datastore = DataStoreProvider.getDataStore(namespace)
|
||||
@@ -167,7 +167,7 @@ export function injectUserUsingCookieDataOnly() {
|
||||
return function(req: Request, res: Response, next: NextFunction) {
|
||||
Authenticator.get(CaptainConstants.rootNameSpace)
|
||||
.decodeAuthTokenFromCookies(
|
||||
req.cookies[CaptainConstants.header.cookieAuth]
|
||||
req.cookies[CaptainConstants.headerCookieAuth]
|
||||
)
|
||||
.then(function(user) {
|
||||
res.locals.user = user
|
||||
|
||||
@@ -32,7 +32,7 @@ router.post('/', function(req, res, next) {
|
||||
return Authenticator.get(namespace).getAuthTokenForCookies(password)
|
||||
})
|
||||
.then(function(cookieAuth) {
|
||||
res.cookie(CaptainConstants.header.cookieAuth, cookieAuth)
|
||||
res.cookie(CaptainConstants.headerCookieAuth, cookieAuth)
|
||||
let baseApi = new BaseApi(
|
||||
ApiStatusCodes.STATUS_OK,
|
||||
'Login succeeded'
|
||||
|
||||
@@ -1,14 +1,78 @@
|
||||
import fs = require('fs-extra')
|
||||
import EnvVars = require('./EnvVars')
|
||||
|
||||
const CAPTAIN_ROOT_DIRECTORY = '/captain'
|
||||
const CONSTANT_FILE_OVERRIDE = CAPTAIN_ROOT_DIRECTORY + '/constants.conf'
|
||||
const CAPTAIN_ROOT_DIRECTORY_TEMP = CAPTAIN_ROOT_DIRECTORY + '/temp'
|
||||
const CAPTAIN_ROOT_DIRECTORY_GENERATED = CAPTAIN_ROOT_DIRECTORY + '/generated'
|
||||
const CAPTAIN_BASE_DIRECTORY = '/captain'
|
||||
const CAPTAIN_DATA_DIRECTORY = +CAPTAIN_BASE_DIRECTORY + '/data' // data that sits here can be backed up
|
||||
const CAPTAIN_ROOT_DIRECTORY_TEMP = CAPTAIN_BASE_DIRECTORY + '/temp'
|
||||
const CAPTAIN_ROOT_DIRECTORY_GENERATED = CAPTAIN_BASE_DIRECTORY + '/generated'
|
||||
|
||||
const CONSTANT_FILE_OVERRIDE = CAPTAIN_DATA_DIRECTORY + '/constants.json'
|
||||
|
||||
let data = {
|
||||
// ******************** Global Constants *********************
|
||||
|
||||
apiVersion: 'v1',
|
||||
|
||||
version: '0.7.3',
|
||||
|
||||
isDebug: EnvVars.CAPTAIN_IS_DEBUG,
|
||||
|
||||
captainServiceExposedPort: 3000,
|
||||
|
||||
rootNameSpace: 'captain',
|
||||
|
||||
// *********************** Disk Paths ************************
|
||||
|
||||
dockerSocketPath: '/var/run/docker.sock',
|
||||
|
||||
sourcePathInContainer: '/usr/src/app',
|
||||
|
||||
nginxStaticRootDir: '/usr/share/nginx',
|
||||
|
||||
nginxDefaultHtmlDir: '/default',
|
||||
|
||||
letsEncryptEtcPathOnNginx: '/letencrypt/etc',
|
||||
|
||||
nginxSharedPathOnNginx: '/nginx-shared',
|
||||
|
||||
nginxDomainSpecificHtmlDir: '/domains',
|
||||
|
||||
captainConfirmationPath: '/.well-known/captain-identifier',
|
||||
|
||||
captainBaseDirectory: CAPTAIN_BASE_DIRECTORY,
|
||||
|
||||
captainRootDirectoryTemp: CAPTAIN_ROOT_DIRECTORY_TEMP,
|
||||
|
||||
captainRawSourceDirectoryBase: CAPTAIN_ROOT_DIRECTORY_TEMP + '/image_raw',
|
||||
|
||||
captainRootDirectoryGenerated: CAPTAIN_ROOT_DIRECTORY_GENERATED,
|
||||
|
||||
registryAuthPathOnHost: CAPTAIN_ROOT_DIRECTORY_GENERATED + '/registry-auth', // this is a file
|
||||
|
||||
captainStaticFilesDir: CAPTAIN_ROOT_DIRECTORY_GENERATED + '/static',
|
||||
|
||||
baseNginxConfigPath: CAPTAIN_ROOT_DIRECTORY_GENERATED + '/nginx/nginx.conf',
|
||||
|
||||
rootNginxConfigPath:
|
||||
CAPTAIN_ROOT_DIRECTORY_GENERATED + '/nginx/conf.d/captain-root',
|
||||
|
||||
perAppNginxConfigPathBase:
|
||||
CAPTAIN_ROOT_DIRECTORY_GENERATED + '/nginx/conf.d',
|
||||
|
||||
captainDataDirectory: CAPTAIN_DATA_DIRECTORY,
|
||||
|
||||
letsEncryptLibPath: CAPTAIN_DATA_DIRECTORY + '/letencrypt/lib',
|
||||
|
||||
letsEncryptEtcPath: CAPTAIN_DATA_DIRECTORY + '/letencrypt/etc',
|
||||
|
||||
registryPathOnHost: CAPTAIN_DATA_DIRECTORY + '/registry',
|
||||
|
||||
nginxSharedPathOnHost: CAPTAIN_DATA_DIRECTORY + '/nginx-shared',
|
||||
|
||||
debugSourceDirectory: '', // Only used in debug mode
|
||||
|
||||
// **************** DockerHub Image Names ********************
|
||||
|
||||
publishedNameOnDockerHub: 'dockersaturn/captainduckduck',
|
||||
|
||||
certbotImageName: 'dockersaturn/certbot-sleeping:v0.17.0',
|
||||
@@ -21,110 +85,51 @@ let data = {
|
||||
|
||||
nginxImageName: 'nginx',
|
||||
|
||||
// ********************* Local Docker Constants ************************
|
||||
|
||||
defaultEmail: 'runner@captainduckduck.com',
|
||||
|
||||
defaultMaxLogSize: '512m',
|
||||
|
||||
buildLogSize: 50,
|
||||
|
||||
isDebug: EnvVars.CAPTAIN_IS_DEBUG,
|
||||
|
||||
version: '0.7.3',
|
||||
|
||||
captainSaltSecretKey: 'captain-salt',
|
||||
|
||||
nginxServiceName: 'captain-nginx',
|
||||
|
||||
nginxPortNumber: 80,
|
||||
|
||||
rootNameSpace: 'captain',
|
||||
|
||||
captainServiceName: 'captain-captain',
|
||||
|
||||
certbotServiceName: 'captain-certbot',
|
||||
|
||||
netDataContainerName: 'captain-netdata-container',
|
||||
|
||||
netDataRelativePath: '/net-data-monitor',
|
||||
registryServiceName: 'captain-registry',
|
||||
|
||||
captainNetworkName: 'captain-overlay-network',
|
||||
|
||||
captainRegistryUsername: 'captain',
|
||||
|
||||
// ********************* HTTP Related Constants ************************
|
||||
|
||||
preCheckForWildCard: true,
|
||||
|
||||
nginxPortNumber: 80,
|
||||
|
||||
registrySubDomainPort: 996,
|
||||
|
||||
netDataRelativePath: '/net-data-monitor',
|
||||
|
||||
healthCheckEndPoint: '/checkhealth',
|
||||
|
||||
captainSubDomain: 'captain',
|
||||
|
||||
registrySubDomain: 'registry',
|
||||
|
||||
registryServiceName: 'captain-registry',
|
||||
headerCookieAuth: 'captainCookieAuth',
|
||||
|
||||
registrySubDomainPort: 996,
|
||||
headerAuth: 'x-captain-auth',
|
||||
|
||||
captainRegistryUsername: 'captain',
|
||||
|
||||
captainNetworkName: 'captain-overlay-network',
|
||||
|
||||
header: {
|
||||
cookieAuth: 'captainCookieAuth',
|
||||
auth: 'x-captain-auth',
|
||||
namespace: 'x-namespace',
|
||||
},
|
||||
|
||||
healthCheckEndPoint: '/checkhealth',
|
||||
|
||||
prefixManagerNode: 'captainManager',
|
||||
|
||||
prefixWorkerNode: 'captainWorker',
|
||||
|
||||
dockerSocketPath: '/var/run/docker.sock',
|
||||
|
||||
sourcePathInContainer: '/usr/src/app',
|
||||
|
||||
captainServiceExposedPort: 3000,
|
||||
|
||||
nginxStaticRootDir: '/usr/share/nginx',
|
||||
|
||||
nginxDefaultHtmlDir: '/default',
|
||||
|
||||
nginxDomainSpecificHtmlDir: '/domains',
|
||||
|
||||
captainConfirmationPath: '/.well-known/captain-identifier',
|
||||
|
||||
captainRootDirectory: CAPTAIN_ROOT_DIRECTORY,
|
||||
|
||||
captainRootDirectoryTemp: CAPTAIN_ROOT_DIRECTORY_TEMP,
|
||||
|
||||
captainRootDirectoryGenerated: CAPTAIN_ROOT_DIRECTORY_GENERATED,
|
||||
|
||||
letsEncryptLibPath: CAPTAIN_ROOT_DIRECTORY + '/letencrypt/lib',
|
||||
|
||||
letsEncryptEtcPath: CAPTAIN_ROOT_DIRECTORY + '/letencrypt/etc',
|
||||
|
||||
registryPathOnHost: CAPTAIN_ROOT_DIRECTORY + '/registry',
|
||||
|
||||
registryAuthPathOnHost: CAPTAIN_ROOT_DIRECTORY_GENERATED + '/registry-auth', // this is a file
|
||||
|
||||
nginxSharedPathOnHost: CAPTAIN_ROOT_DIRECTORY + '/nginx-shared',
|
||||
|
||||
letsEncryptEtcPathOnNginx: '/letencrypt/etc',
|
||||
|
||||
nginxSharedPathOnNginx: '/nginx-shared',
|
||||
|
||||
captainStaticFilesDir: CAPTAIN_ROOT_DIRECTORY_GENERATED + '/static',
|
||||
|
||||
captainRawSourceDirectoryBase: CAPTAIN_ROOT_DIRECTORY_TEMP + '/image_raw',
|
||||
|
||||
captainTarImagesDir: CAPTAIN_ROOT_DIRECTORY_TEMP + '/img_tar',
|
||||
|
||||
captainDefinitionTempDir:
|
||||
CAPTAIN_ROOT_DIRECTORY_TEMP + '/captain_definition',
|
||||
|
||||
baseNginxConfigPath: CAPTAIN_ROOT_DIRECTORY_GENERATED + '/nginx/nginx.conf',
|
||||
|
||||
rootNginxConfigPath:
|
||||
CAPTAIN_ROOT_DIRECTORY_GENERATED + '/nginx/conf.d/captain-root',
|
||||
|
||||
perAppNginxConfigPathBase:
|
||||
CAPTAIN_ROOT_DIRECTORY_GENERATED + '/nginx/conf.d',
|
||||
|
||||
debugSourceDirectory: '', // Only used in debug mode
|
||||
headerNamespace: 'x-namespace',
|
||||
}
|
||||
|
||||
let overridingValues = fs.readJsonSync(CONSTANT_FILE_OVERRIDE, {
|
||||
|
||||
@@ -251,8 +251,8 @@ export function install() {
|
||||
.then(function(nodeId: string) {
|
||||
let volumeToMount = [
|
||||
{
|
||||
hostPath: CaptainConstants.captainRootDirectory,
|
||||
containerPath: CaptainConstants.captainRootDirectory,
|
||||
hostPath: CaptainConstants.captainBaseDirectory,
|
||||
containerPath: CaptainConstants.captainBaseDirectory,
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user