Revert "v1.0.2 (#8)" (#9)

This reverts commit b91bfa21b3.
This commit is contained in:
Andras Bacsai
2021-03-30 22:15:37 +02:00
committed by GitHub
parent 73d3d43215
commit a1cccd479e
18 changed files with 124 additions and 180 deletions

View File

@@ -1,10 +1,9 @@
const { docker } = require('../../docker')
const { execShellAsync } = require('../../common')
const { execShellAsync, delay } = require('../../common')
const Deployment = require('../../../models/Deployment')
async function purgeOldThings () {
try {
// TODO: Tweak this, because it deletes coolify-base, so the upgrade will be slow
await docker.engine.pruneImages()
await docker.engine.pruneContainers()
} catch (error) {

View File

@@ -1,8 +1,7 @@
const { uniqueNamesGenerator, adjectives, colors, animals } = require('unique-names-generator')
const cuid = require('cuid')
const crypto = require('crypto')
const { execShellAsync } = require('../common')
const crypto = require('crypto')
function getUniq () {
return uniqueNamesGenerator({ dictionaries: [adjectives, animals, colors], length: 2 })
@@ -16,24 +15,6 @@ function setDefaultConfiguration (configuration) {
const shaBase = JSON.stringify({ repository: configuration.repository })
const sha256 = crypto.createHash('sha256').update(shaBase).digest('hex')
const baseServiceConfiguration = {
replicas: 1,
restart_policy: {
condition: 'any',
max_attempts: 3
},
update_config: {
parallelism: 1,
delay: '10s',
order: 'start-first'
},
rollback_config: {
parallelism: 1,
delay: '10s',
order: 'start-first'
}
}
configuration.build.container.name = sha256.slice(0, 15)
configuration.general.nickname = nickname
@@ -53,9 +34,6 @@ function setDefaultConfiguration (configuration) {
if (!configuration.build.directory) configuration.build.directory = '/'
}
configuration.build.container.baseSHA = crypto.createHash('sha256').update(JSON.stringify(baseServiceConfiguration)).digest('hex')
configuration.baseServiceConfiguration = baseServiceConfiguration
return configuration
} catch (error) {
throw { error, type: 'server' }

View File

@@ -1,9 +1,9 @@
const yaml = require('js-yaml')
const fs = require('fs').promises
const { execShellAsync } = require('../../common')
const { docker } = require('../../docker')
const { saveAppLog } = require('../../logging')
const { deleteSameDeployments } = require('../cleanup')
const fs = require('fs').promises
module.exports = async function (configuration, configChanged, imageChanged) {
try {
@@ -12,11 +12,6 @@ module.exports = async function (configuration, configChanged, imageChanged) {
generateEnvs[secret.name] = secret.value
}
const containerName = configuration.build.container.name
// Only save SHA256 of it in the configuration label
const baseServiceConfiguration = configuration.baseServiceConfiguration
delete configuration.baseServiceConfiguration
const stack = {
version: '3.8',
services: {
@@ -25,7 +20,23 @@ module.exports = async function (configuration, configChanged, imageChanged) {
networks: [`${docker.network}`],
environment: generateEnvs,
deploy: {
...baseServiceConfiguration,
replicas: 1,
restart_policy: {
condition: 'on-failure',
delay: '5s',
max_attempts: 1,
window: '120s'
},
update_config: {
parallelism: 1,
delay: '10s',
order: 'start-first'
},
rollback_config: {
parallelism: 1,
delay: '10s',
order: 'start-first'
},
labels: [
'managedBy=coolify',
'type=application',
@@ -60,10 +71,8 @@ module.exports = async function (configuration, configChanged, imageChanged) {
}
}
}
console.log(stack)
await saveAppLog('### Publishing.', configuration)
await fs.writeFile(`${configuration.general.workdir}/stack.yml`, yaml.dump(stack))
// TODO: Compare stack.yml with the currently running one to upgrade if something changes, like restart_policy
if (configChanged) {
// console.log('configuration changed')
await execShellAsync(
@@ -82,7 +91,6 @@ module.exports = async function (configuration, configChanged, imageChanged) {
await saveAppLog('### Published done!', configuration)
} catch (error) {
console.log(error)
await saveAppLog(`Error occured during deployment: ${error.message}`, configuration)
throw { error, type: 'server' }
}