2015 was different for me. Instead of working on several small projects, I focused my time on two larger projects. One of them was Waffles.
Status of Waffles
Waffles continues to grow and evolve and I'm having a lot of fun with it.
You can see all changes in its CHANGELOG file, but to call out some of the most notable ones:
- Git Profiles: Enables profiles to be stored in a remote Git repository and downloaded upon running Waffles.
- Host Files: A special profile to store files for one particular host. These files are only ever copied to that one host. This is useful for SSL certificates.
- Profile Data: Data specific to a profile, but still too generic for a site can be stored in
- Lots of new resources such as Consul, Git, Python virtualenv and pip, and more.
Waffles and Terraform
Waffles and Terraform make a great pair. Terraform handles the creation of core IaaS resources and Waffles can be used to provision the compute-related resources. Because I find both Waffles and Teraform so useful, I recently created a Waffles Terraform Provisioner.
Waffles and Shell
Waffles provides a large library of helpful Bash functions. By sourcing
lib/stdlib/system.sh in your shell, you can use any of them directly on the command line or in your own shell scripts. You can even use any of the Waffles resources directly on the command line!
Here are some of the ideas I have for Waffles in 2016:
- Better "no-op" support: I want Waffles to be more intelligent about performing a no-operation command; maybe showing the diff of a file and maybe running a syntax check against requested changes.
- Publishing profiles: I've been adamant about not creating a Waffles profile / module community. I don't want to see Waffles Profiles made into large, generic scripts that account for a wide-variety of environments. I'd rather see small, agile scripts that are targeted for specific environments. However, that doesn't mean that profiles can't be published to Github for others to find and modify on their own. I plan to publish my own profiles soon.
I dedicated a lot of time in 2015 working on Waffles and I'm happy to say that it really paid off. I'm able to use Waffles to sketch out experimental systems as well as deploy stable, production systems very quickly. I plan to continue supporting and working on Waffles throughout 2016.