async template(instance, contents, descriptor, file, dir) {
        if (this.ui.verbose && (await this.ui.confirm(`Would you like to view the ${descriptor} file?`, false))) {
            this.ui.log(contents);
        }

        const tmpDir = path.join(os.tmpdir(), instance.name);
        await fs.ensureDir(tmpDir);

        const tmpFile = path.join(tmpDir, file);
        await fs.writeFile(tmpFile, contents || '');

        const outputLocation = path.join(dir, file);
        await this.ui.sudo(`mv ${tmpFile} ${outputLocation}`);
    }
Creates a system config file (used mainly by extensions to configure external services)
Creates a local copy of the config file in <instance-dir>/system/files, then links
the file into the directory needed by the service

@param {Instance} instance Ghost instance reference
@param {string} contents Contents of the template file to create
@param {string} descriptor Description of the template file (used in the prompt)
@param {string} file Filename
@param {string} dir Directory to move the config file into
@return {Promise<void>}
@method template
@public