The granularity of the new features
“This is nothing the AI should do, it should be done either manually of by ISPConfig, imho.” _#7 (comment 83779)
This statement summarized my questions. Which feature will land or not in AI? Personally, I would like the Autoinstaller to do granular tasks for me, instead of using it in combination with other DevOps tools, like Ansible or bash scripts.
Somehow, @jnorell share a similar point of view:
“The autoinstaller configures other things which the perfect server guides do not (multiple php versions, at least), so there is precedent for doing more than exactly following a perfect server guide. My opinion, I would prefer to see a more complete autoinstaller, that becomes the usual way in which ISPConfig is installed and results in a more complete, less error prone setup. As far as being up to the user, maybe add a switch to disable it?” #17 (comment 90019)
For instance, I would prefer the AI to setup a custom ssh port for me, based on an argument.
Install unattended-upgrades #25 (closed) is another feature, more DevOps oriented, that I’m pleased that was merged.
Some new features have a very specific place in the code, like Allow selection of single PHP version #1 (closed)
Or, if I’m planning to disable ( with a switch) snaps in Ubuntu focal https://www.kevin-custer.com/blog/disabling-snaps-in-ubuntu-20-04/, I should do it in lib\os\class.ISPConfigUbuntu2004OS.inc.php
But, some features, that could be way too granular for the general scope of AI, could be rejected as a merge request. So they would end on the devel branch of my fork, without visibility, even though they might be useful for some people.
On the other hand, it might not be fine to hack all the time, into public function runPerfectSetup()
I’ve noticed the line $class_dir .= '/modules';
in public static function autoload($class_name) {
It is planned to release modules? Do you have a sample?
I’ve even considered that AI should enable custom ISPConfig plugins and running my code, onInstall()
, sending my parameters via global $conf;
Another feature ( with an argument) would be that the AI should insert a domain and setup the dns zones, with child nameservers.
The elegant way to do it would be to create a remote api user, create a basic client ISPConfig API, and insert domain and dns zones, via API.
At the moment, there’s a single case for inserting direct in DB. It would not have been worthwhile to work with API for the moment, but future need, it might worth exploring the API.
… $qry = 'INSERT IGNORE INTO
dbispconfig.
server_php…
Thx!