Compare commits

..

8 Commits

Author SHA1 Message Date
Girish Ramakrishnan bb10d6ed71 caas can be a provider 2018-02-17 22:26:09 -08:00
Girish Ramakrishnan 304d9dafb8 restart mail container when mail.ini changes 2018-02-17 18:17:28 -08:00
Girish Ramakrishnan 9771de5d97 1.11.0 changes 2018-02-16 16:36:25 -08:00
Girish Ramakrishnan b317ac8258 Bump mail container for Haraka 2.8.17 2018-02-16 16:04:16 -08:00
Johannes Zellner 7f8060dd14 Report dependency error for clone if backup or domain was not found 2018-02-16 16:03:21 -08:00
Girish Ramakrishnan 7d48887428 Enable auto-updates for major versions
Cloudron is always rolling releases and we never break compat
2018-02-16 16:03:06 -08:00
Johannes Zellner 6f6afa1b6a Add 1.10.2 changes 2018-02-07 15:34:24 +01:00
Johannes Zellner 3634e47794 Keep the invite email for users, which have not yet setup a username 2018-02-07 15:33:35 +01:00
7 changed files with 21 additions and 12 deletions
+12
View File
@@ -1198,3 +1198,15 @@
* Configure Exoscale SOS to use new SOS NG endpoint
* Fix S3 storage backend CopySource encoding rules
[1.10.2]
* Migrate mailboxes to support multiple domains
* Update addon containers to latest versions
* Add DigitalOcean Spaces region Singapore 1 (SGP1)
* Configure Exoscale SOS to use new SOS NG endpoint
* Fix S3 storage backend CopySource encoding rules
[1.11.0]
* Update Haraka to 2.8.17 to fix various crashes
* Report dependency error for clone if backup or domain was not found
* Enable auto-updates for major versions
@@ -22,7 +22,7 @@ exports.up = function(db, callback) {
defaultEmail = user.email;
fallbackEmail = user.email;
} else {
defaultEmail = user.username + '@' + mailDomains[0].domain;
defaultEmail = user.username ? (user.username + '@' + mailDomains[0].domain) : user.email;
fallbackEmail = user.email;
}
+1
View File
@@ -88,6 +88,7 @@ if [[ -z "${provider}" ]]; then
elif [[ \
"${provider}" != "ami" && \
"${provider}" != "azure" && \
"${provider}" != "caas" && \
"${provider}" != "cloudscale" && \
"${provider}" != "digitalocean" && \
"${provider}" != "ec2" && \
+2 -2
View File
@@ -890,7 +890,7 @@ function clone(appId, data, auditSource, callback) {
backups.get(backupId, function (error, backupInfo) {
if (error && error.reason === BackupsError.EXTERNAL_ERROR) return callback(new AppsError(AppsError.EXTERNAL_ERROR, error.message));
if (error && error.reason === BackupsError.NOT_FOUND) return callback(new AppsError(AppsError.EXTERNAL_ERROR, error.message));
if (error && error.reason === BackupsError.NOT_FOUND) return callback(new AppsError(AppsError.EXTERNAL_ERROR, 'Backup not found'));
if (error) return callback(new AppsError(AppsError.INTERNAL_ERROR, error));
if (!backupInfo.manifest) callback(new AppsError(AppsError.EXTERNAL_ERROR, 'Could not get restore config'));
@@ -903,7 +903,7 @@ function clone(appId, data, auditSource, callback) {
if (error) return callback(error);
domains.get(domain, function (error, domainObject) {
if (error && error.reason === DomainError.NOT_FOUND) return callback(new AppsError(AppsError.NOT_FOUND, 'No such domain'));
if (error && error.reason === DomainError.NOT_FOUND) return callback(new AppsError(AppsError.EXTERNAL_ERROR, 'No such domain'));
if (error) return callback(new AppsError(AppsError.INTERNAL_ERROR, 'Could not get domain info:' + error.message));
var intrinsicFqdn = domains.fqdn(location, domain, domainObject.provider);
+2 -6
View File
@@ -204,12 +204,8 @@ function autoupdatePatternChanged(pattern) {
onTick: function() {
var updateInfo = updateChecker.getUpdateInfo();
if (updateInfo.box) {
if (semver.major(updateInfo.box.version) === semver.major(config.version())) {
debug('Starting autoupdate to %j', updateInfo.box);
cloudron.updateToLatest(AUDIT_SOURCE, NOOP_CALLBACK);
} else {
debug('Block automatic update for major version');
}
debug('Starting autoupdate to %j', updateInfo.box);
cloudron.updateToLatest(AUDIT_SOURCE, NOOP_CALLBACK);
} else if (updateInfo.apps) {
debug('Starting app update to %j', updateInfo.apps);
apps.autoupdateApps(updateInfo.apps, AUDIT_SOURCE, NOOP_CALLBACK);
+1 -1
View File
@@ -18,7 +18,7 @@ exports = module.exports = {
'postgresql': { repo: 'cloudron/postgresql', tag: 'cloudron/postgresql:1.0.0' },
'mongodb': { repo: 'cloudron/mongodb', tag: 'cloudron/mongodb:1.0.1' },
'redis': { repo: 'cloudron/redis', tag: 'cloudron/redis:1.0.0' },
'mail': { repo: 'cloudron/mail', tag: 'cloudron/mail:1.0.0' },
'mail': { repo: 'cloudron/mail', tag: 'cloudron/mail:1.1.0' },
'graphite': { repo: 'cloudron/graphite', tag: 'cloudron/graphite:1.0.0' }
}
};
+2 -2
View File
@@ -741,7 +741,7 @@ function setMailFromValidation(domain, enabled, callback) {
if (error && error.reason === DatabaseError.NOT_FOUND) return callback(new MailError(MailError.NOT_FOUND));
if (error) return callback(new MailError(MailError.INTERNAL_ERROR, error));
createMailConfig(NOOP_CALLBACK);
restartMail(NOOP_CALLBACK); // have to restart mail container since haraka cannot watch symlinked config files (mail.ini)
callback(null);
});
@@ -756,7 +756,7 @@ function setCatchAllAddress(domain, address, callback) {
if (error && error.reason === DatabaseError.NOT_FOUND) return callback(new MailError(MailError.NOT_FOUND));
if (error) return callback(new MailError(MailError.INTERNAL_ERROR, error));
createMailConfig(NOOP_CALLBACK);
restartMail(NOOP_CALLBACK); // have to restart mail container since haraka cannot watch symlinked config files (mail.ini)
callback(null);
});