Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Vagrant allows for all kinds of nifty commands, but they need to be run from within a given project in order to work. Also, Aegir-up's architecture can appear complicated to new users. So, in an effort to simplify the interface, I'm proposing adding a number of 'aegir-up' commands.
So far, in lib/scripts, we have:
- aegir-up-init.sh: initialize a project (e.g., projects/my-project).
- aegir-up-user.sh: initialize user settings (i.e., ~/.aegir-up).
- aegir-up-remotes: add Puppet module remotes.
- vp: add an alias to allow provisioning from other than a project's root.
Here are some other ideas:
aegir-up-destroy.shaegir-up-delete.sh: run 'vagrant destroy' on a project, then 'rm -rf projects/my-project'. If we don't destroy the VMs first, it can be a real hassle to clean them up. DONE- aegir-up-clone.sh: clone a project repo, and then initialize it locally. Sharing project repos can be a bit difficult, since we won't have user settings, may run into subnet collisions, etc.
- aegir-up-rebuild.sh: pull down project changes, and rebuild the project's VMs (basically 'vagrant destroy -f && git pull && vagrant up')
- aegir-up-provision.sh: replace vp (see above), and ensure that we use the vagrant user for provisioning.
- aegir-up-ssh.sh: ssh into any VM in any project from anywhere. Possibly add agent forwarding. DONE
- aegir-up-start.sh: launch, start or resume a VM (in any project, from anywhere).
- aegir-up-pause.sh: suspend one VM or all VMs in a project.
- aegir-up-stop.sh: shutdown one VM or all VMs in a project.
- aegir-up-basebox.sh: automate the building of the Aegir-up baseboxes.
- aegir-up-status.sh: show VM status across all projects.
- aegir-up
.sh: wrapperlinked to from the aegir-up root,that passes variables on to the appropriate sub-command (e.g. 'aegir-up init', 'aegir-up ssh my-project', &c.) - aegir-up-upgrade.sh: manage stable version upgrades.
Thoughts? Suggestions?
Comments
Comment #1
ergonlogicAdded aegir-up-delete.sh and aegir-up commands.
Comment #2
ergonlogicAdded aegir-up-ssh.sh
Comment #2.0
ergonlogicupdating status
Comment #2.1
ergonlogicupdate 'aegir-up ssh' command done
Comment #3
ergonlogicChanged command syntax (aegir-up <sub-command> [options]), added auto-complete and 'aegir-up clone <git_repo_url> <project_directory>' to experimental branch. Will merge into 'testing' branch shortly.
Comment #4
ergonlogicAll the shell scripts have been re-implemented as Drush commands, and so no longer exist as described above.
aegir-up-init.sh is now 'drush aegir-up-initialize ' (alias 'aui')
aegir-up-user.sh is now 'drush aegir-up-user' (alias 'auu')
aegir-up-delete.sh is now 'drush aegir-up-delete ' (alias 'aud')
aegir-up-clone.sh has been folded into aegir-up-initialize as the '--git-repo' option
aegir-up-ssh.sh is now is now 'drush aegir-up-ssh []' (alias 'aus')
aegir-up-status.sh is now 'drush aegir-up' (alias 'au')
aegir-up.sh is no more.
aegir-up-upgrade.sh should no longer be required, as a 'drush dl aegir-up' should be sufficient to upgrade to a newer version (may squash contrib blueprints though...).
aegir-up-basebox.sh just isn't likely to be worthwhile, but may be implemented as a hidden command one day.
The following may still be interesting to implement.
aegir-up-rebuild: rebuild the workspace's VMs (basically 'vagrant destroy -f && vagrant up', with an optional 'git pull', maybe)
aegir-up-provision: may be redundant... TBD.
aegir-up-start/stop/pause: I may implement these as a toggle, with an option to set a specific state.
These would provide pretty much a full wrapper around all relevant Vagrant commands.
Comment #5
ergonlogicPretty much all of these have moved to Drush Vagrant. I don't immediately see a need for aegir-up specific commands, though I'm open to ideas (in new issues please).
Comment #5.0
ergonlogicoops, wrong style for marking something done