Use a persistent file for dns sync flag

This commit is contained in:
Johannes Zellner
2015-10-21 16:42:17 +02:00
parent 9199f236b6
commit 4a8dc5ca3d
2 changed files with 22 additions and 1 deletions
+11 -1
View File
@@ -4,6 +4,8 @@
exports = module.exports = {
baseDir: baseDir,
dnsInSync: dnsInSync,
setDnsInSync: setDnsInSync,
// values set here will be lost after a upgrade/update. use the sqlite database
// for persistent values that need to be backed up
@@ -55,6 +57,15 @@ function baseDir() {
}
var cloudronConfigFileName = path.join(baseDir(), 'configs/cloudron.conf');
var cloudronDnsInSyncFilePath = path.join(baseDir(), 'dns_in_sync');
function dnsInSync() {
return !!safe.fs.statSync(cloudronDnsInSyncFilePath);
}
function setDnsInSync(content) {
safe.fs.writeFileSync(cloudronDnsInSyncFilePath, content || 'if this file exists, dns is in sync');
}
function saveSync() {
fs.writeFileSync(cloudronConfigFileName, JSON.stringify(data, null, 4)); // functions are ignored by JSON.stringify
@@ -83,7 +94,6 @@ function initConfig() {
accessKeyId: null, // selfhosting only
secretAccessKey: null // selfhosting only
};
data.dnsInSync = false;
if (exports.CLOUDRON) {
data.port = 3000;
+11
View File
@@ -28,6 +28,17 @@ describe('config', function () {
done();
});
it('dnsInSync() is unset', function (done) {
expect(config.dnsInSync()).to.not.be.ok();
done();
});
it('dnsInSync() is set', function (done) {
config.setDnsInSync();
expect(config.dnsInSync()).to.be.ok();
done();
});
it('cloudron.conf generated automatically', function (done) {
expect(fs.existsSync(path.join(config.baseDir(), 'configs/cloudron.conf'))).to.be.ok();
done();