Valkyrie is an opinionated development stack that makes features/git based Drupal development easy.
- Everything is wrapped up neatly in a VM. This keeps your computer tidy and Valkyrie consistent across various machines.
- Folders in the VM are mounted on your computer via NFS to make developing with your favorite editor easy (we like Vim).
- Automatic domain resolution using Avahi. Each site you create on Valkyrie will get an automatically resolving domain name which keeps you from needing to hack your /etc/hosts file.
- Drush extensions to make all kinds of common development tasks easy.
- Automatic Drush aliases for running commands against sites inside the VM.
We've tested this on OS X (requires 10.10.4 or higher) and Debian GNU/Linux. You'll need to have the following:
The latest versions of all of the above are recommended. To install Drush on OS X, we recommend using Homebrew. You'll need to install the HEAD version of Drush:
brew install drush --HEAD.
NFS comes pre-installed on OS-X. Install the
nfs-common packages on Debian and derivatives, like Ubuntu Linux.
Make sure you have a .drush folder in your home diretory. If you don't, run the
drush command and it should create one.
To install Valkyrie from source, clone the repo inside ~/.drush like so:
git clone https://github.com/GetValkyrie/valkyrie.git ~/.drush/valkyrie --recursive
Then clear your drush cache:
drush cc drush
Valkyrie provides a number of Drush commands, which are well documented within Drush itself. Run the following to review these commands:
drush help --filter=valkyrie
Creating a project
To begin using Valkyrie you'll need to create a project. A project is a VM provisioned with the entire dev stack. You really only need one project since it will be running Aegir which supports multiple platforms/sites.
To create a project run
drush vnew [name]. We usually name our project "valkyrie" since we only need one
drush vnew valkyrie. This will create a folder named "valkyrie" in the current working directory and will spin up and provision a VM. This will take a while so go grab a coffee/beer.
During the provisioning process you should see a couple red notices. One is an SSH key for the VM in case you need to add it as a deploy key to private repos. The other is a login link for accessing Aegir.
If Hosting Queue not running
drush @vm cc drush; drush @v hosting-dispatch
If frontend does not generate properly
drush @v provision-verify
- Platform management
- ??? - Request additional features in a PR. Even better, implement it in PR as well :)
We are firm proponents of Free Software. Valkyrie only exists because of the ongoing efforts of many other projects including: Aegir, Drupal, Drush, Git, GNU/Linux, Ansible, Vagrant and VirtualBox.