|
1 | 1 | // our modules |
2 | 2 | const docker = require('./docker'); |
3 | 3 | const {initNetwork, createNetwork} = require('../docker/network'); |
4 | | -const {getProjectConfig, nameFromImage, projectFromConfig, writeStatus} = require('../util'); |
5 | | -const {getSecretsCollection} = require('../db/secrets'); |
| 4 | +const {getProjectConfig, nameFromImage, projectFromConfig, writeStatus, getHost, getEnv} = require('../util'); |
6 | 5 | const {getConfig} = require('../config'); |
7 | 6 | const {getPlugins} = require('../plugins'); |
8 | 7 | const logger = require('../logger'); |
9 | 8 |
|
10 | | -// try to find secret with current value name and return secret value if present |
11 | | -const valueOrSecret = (value, secrets) => { |
12 | | - const secret = secrets.find(s => `@${s.name}` === value); |
13 | | - if (secret) { |
14 | | - return secret.value; |
15 | | - } |
16 | | - return value; |
17 | | -}; |
18 | | - |
19 | 9 | exports.startFromParams = async ({ |
20 | 10 | image, |
21 | 11 | deploymentName, |
@@ -166,29 +156,13 @@ exports.start = async ({image, username, folder, resultStream, existing = []}) = |
166 | 156 | // get project info |
167 | 157 | const config = getProjectConfig(folder); |
168 | 158 |
|
169 | | - // generate host |
170 | | - // construct base domain from config, prepend with "." if it's not there |
171 | | - const baseDomain = serverConfig.baseDomain ? serverConfig.baseDomain.replace(/^(\.?)/, '.') : undefined; |
172 | | - // construc default domain using given base domain |
173 | | - const defaultDomain = baseDomain ? `${name}${baseDomain}` : undefined; |
174 | | - // construct host |
175 | | - const host = config.domain === undefined ? defaultDomain : config.domain; |
176 | 159 | // generate project name |
177 | 160 | const project = projectFromConfig({username, config}); |
178 | 161 |
|
179 | | - // replace env vars values with secrets if needed |
180 | | - const secrets = getSecretsCollection().find({user: username}); |
181 | | - // generate env vars (with secrets) |
182 | | - const userEnv = config.env |
183 | | - ? Object.keys(config.env).map(key => `${key}=${valueOrSecret(config.env[key], secrets)}`) |
184 | | - : []; |
185 | | - const exoEnv = [ |
186 | | - `EXOFRAME_DEPLOYMENT=${name}`, |
187 | | - `EXOFRAME_USER=${username}`, |
188 | | - `EXOFRAME_PROJECT=${project}`, |
189 | | - `EXOFRAME_HOST=${host}`, |
190 | | - ]; |
191 | | - const Env = userEnv.concat(exoEnv); |
| 162 | + // generate host |
| 163 | + const host = getHost({serverConfig, name, config}); |
| 164 | + |
| 165 | + const Env = getEnv({username, config, name, project, host}).map((pair) => pair.join('=')); |
192 | 166 |
|
193 | 167 | // construct restart policy |
194 | 168 | let RestartPolicy = {}; |
|
0 commit comments