diff --git a/scripts/cloudron-setup b/scripts/cloudron-setup index f965df5ea..87b7d92e9 100755 --- a/scripts/cloudron-setup +++ b/scripts/cloudron-setup @@ -43,21 +43,19 @@ fi initBaseImage="true" # provisioning data provider="" -edition="" requestedVersion="" apiServerOrigin="https://api.cloudron.io" webServerOrigin="https://cloudron.io" sourceTarballUrl="" rebootServer="true" -args=$(getopt -o "" -l "help,skip-baseimage-init,provider:,version:,env:,edition:,skip-reboot" -n "$0" -- "$@") +args=$(getopt -o "" -l "help,skip-baseimage-init,provider:,version:,env:,skip-reboot" -n "$0" -- "$@") eval set -- "${args}" while true; do case "$1" in --help) echo "See https://cloudron.io/documentation/installation/ on how to install Cloudron"; exit 0;; --provider) provider="$2"; shift 2;; - --edition) edition="$2"; shift 2;; --version) requestedVersion="$2"; shift 2;; --env) if [[ "$2" == "dev" ]]; then @@ -126,11 +124,6 @@ elif [[ \ exit 1 fi -if [[ -n "${edition}" && ! -f "LICENSE" ]]; then - echo "A LICENSE is required to use this edition. Please contact support@cloudron.io" - exit 1 -fi - echo "" echo "##############################################" echo " Cloudron Setup (${requestedVersion:-latest})" @@ -208,8 +201,7 @@ cat > "/etc/cloudron/cloudron.conf" <> "${LOG_FILE}"; then exit 1 fi -[[ -f LICENSE ]] && cp LICENSE /etc/cloudron/LICENSE - echo -n "=> Waiting for cloudron to be ready (this takes some time) ..." while true; do echo -n "." diff --git a/setup/start.sh b/setup/start.sh index ab3e5c4f6..caa8ae6ad 100755 --- a/setup/start.sh +++ b/setup/start.sh @@ -108,7 +108,7 @@ systemctl restart unbound # ensure cloudron-syslog runs systemctl restart cloudron-syslog -$json -f /etc/cloudron/cloudron.conf -I -e "delete this.adminLocation" # can be removed after 3.6 +$json -f /etc/cloudron/cloudron.conf -I -e "delete this.edition" # can be removed after 4.0 echo "==> Configuring sudoers" rm -f /etc/sudoers.d/${USER} diff --git a/src/cloudron.js b/src/cloudron.js index 21fa60794..f82f94997 100644 --- a/src/cloudron.js +++ b/src/cloudron.js @@ -170,7 +170,6 @@ function getConfig(callback) { mailFqdn: config.mailFqdn(), version: config.version(), isDemo: config.isDemo(), - edition: config.edition(), memory: os.totalmem(), provider: config.provider(), cloudronName: allSettings[settings.CLOUDRON_NAME_KEY] diff --git a/src/config.js b/src/config.js index 040cdbbec..91a72c5aa 100644 --- a/src/config.js +++ b/src/config.js @@ -22,7 +22,6 @@ exports = module.exports = { setAdminFqdn: setAdminFqdn, version: version, database: database, - edition: edition, // these values are derived adminOrigin: adminOrigin, @@ -32,7 +31,6 @@ exports = module.exports = { mailFqdn: mailFqdn, hasIPv6: hasIPv6, - isManaged: isManaged, isDemo: isDemo, // for testing resets to defaults @@ -68,8 +66,7 @@ function saveSync() { adminDomain: data.adminDomain, adminFqdn: data.adminFqdn, provider: data.provider, - isDemo: data.isDemo, - edition: data.edition + isDemo: data.isDemo }; fs.writeFileSync(cloudronConfigFileName, JSON.stringify(conf, null, 4)); // functions are ignored by JSON.stringify @@ -95,7 +92,6 @@ function initConfig() { data.sysadminPort = 3001; data.ldapPort = 3002; data.dockerProxyPort = 3003; - data.edition = ''; // keep in sync with start.sh data.database = { @@ -200,16 +196,8 @@ function provider() { return get('provider'); } -function isManaged() { - return edition() === 'hostingprovider'; -} - function hasIPv6() { const IPV6_PROC_FILE = '/proc/net/if_inet6'; // on contabo, /proc/net/if_inet6 is an empty file. so just exists is not enough return fs.existsSync(IPV6_PROC_FILE) && fs.readFileSync(IPV6_PROC_FILE, 'utf8').trim().length !== 0; } - -function edition() { - return get('edition'); -} diff --git a/src/provision.js b/src/provision.js index 20d0a9cb0..344227986 100644 --- a/src/provision.js +++ b/src/provision.js @@ -135,8 +135,6 @@ function autoRegisterCloudron(adminDomain, callback) { assert.strictEqual(typeof adminDomain, 'string'); assert.strictEqual(typeof callback, 'function'); - if (!config.edition()) return callback(); - const license = safe.JSON.parse(safe.fs.readFileSync(paths.LICENSE_FILE, 'utf8')); if (!license) return callback(new ProvisionError(ProvisionError.EXTERNAL_ERROR, 'Cannot read license')); if (typeof license.userId !== 'string' || typeof license.token !== 'string') return callback(new ProvisionError(ProvisionError.EXTERNAL_ERROR, 'Bad license')); @@ -349,7 +347,6 @@ function getStatus(callback) { cloudronName: cloudronName, adminFqdn: config.adminDomain() ? config.adminFqdn() : null, activated: activated, - edition: config.edition() }, gProvisionStatus)); }); }); diff --git a/src/routes/accesscontrol.js b/src/routes/accesscontrol.js index 198b1c782..2936c7560 100644 --- a/src/routes/accesscontrol.js +++ b/src/routes/accesscontrol.js @@ -4,8 +4,6 @@ exports = module.exports = { initialize: initialize, uninitialize: uninitialize, - isUnmanaged: isUnmanaged, - scope: scope, websocketAuth: websocketAuth }; @@ -17,7 +15,6 @@ var accesscontrol = require('../accesscontrol.js'), clients = require('../clients.js'), ClientPasswordStrategy = require('passport-oauth2-client-password').Strategy, ClientsError = clients.ClientsError, - config = require('../config.js'), HttpError = require('connect-lastmile').HttpError, LocalStrategy = require('passport-local').Strategy, passport = require('passport'), @@ -141,9 +138,3 @@ function websocketAuth(requiredScopes, req, res, next) { next(); }); } - -function isUnmanaged(req, res, next) { - if (!config.isManaged()) return next(); - - next(new HttpError(401, 'Managed instance does not permit this operation')); -} diff --git a/src/server.js b/src/server.js index cdf067797..6506e8338 100644 --- a/src/server.js +++ b/src/server.js @@ -103,7 +103,6 @@ function initializeExpressSync() { var domainsReadScope = routes.accesscontrol.scope(accesscontrol.SCOPE_DOMAINS_READ); var domainsManageScope = routes.accesscontrol.scope(accesscontrol.SCOPE_DOMAINS_MANAGE); - const isUnmanaged = routes.accesscontrol.isUnmanaged; const verifyDomainLock = routes.domains.verifyDomainLock; const verifySettingsLock = routes.settings.verifySettingsLock; @@ -277,9 +276,9 @@ function initializeExpressSync() { router.del ('/api/v1/mail/:domain/lists/:name', mailScope, routes.mail.removeList); // feedback - router.post('/api/v1/support/feedback', cloudronScope, isUnmanaged, routes.support.feedback); - router.get ('/api/v1/support/remote_support', cloudronScope, isUnmanaged, routes.support.getRemoteSupport); - router.post('/api/v1/support/remote_support', cloudronScope, isUnmanaged, routes.support.enableRemoteSupport); + router.post('/api/v1/support/feedback', cloudronScope, routes.support.feedback); + router.get ('/api/v1/support/remote_support', cloudronScope, routes.support.getRemoteSupport); + router.post('/api/v1/support/remote_support', cloudronScope, routes.support.enableRemoteSupport); // domain routes router.post('/api/v1/domains', domainsManageScope, routes.domains.add);