This is really two separate announcements rolled into one:
TurnKey 13 - codenamed "satisfaction guaranteed or your money back!"
The new release celebrates 5 years since TurnKey's launch. It's based on the latest version of Debian (7.2) and includes 1400 ready-to-use images: 330GB worth of 100% open source, guru integrated, Linux system goodness in 7 build types that are optimized and pre-tested for nearly any deployment scenario: bare metal, virtual machines and hypervisors of all kinds, "headless" private and public cloud deployments, etc.
New apps in this release include OpenVPN, Observium and Tendenci.
We hope this new release reinforces the explosion in active 24x7 production deployments (37,521 servers worldwide) we've seen since the previous 12.1 release, which added 64-bit support and the ability to rebuild any system from scratch using TKLDev, our new self-contained build appliance (AKA "the mothership").
To visualize active deployments world wide, I ran the archive.turnkeylinux.org access logs through GeoIPCity and overlaid the GPS coordinates on this Google map (view full screen):
TKLBAM 1.4 - codenamed "give me liberty or give me death!"
Frees TKLBAM from its shackles so it can now backup files, databases and package management state without requiring TurnKey Linux, a TurnKey Hub account or even a network connection. Having those will improve the usage experience, but the new release does its best with what you give it.
I've created a convenience script to help you install it in a few seconds on any Debian or Ubuntu derived system:
URL=https://raw.github.com/turnkeylinux/tklbam/master/contrib/ez-apt-install.sh wget -O - -q $URL | PACKAGE=tklbam /bin/bash
There's nothing preventing TKLBAM from working on non Debian/Ubuntu Linux systems as well, you just need to to install from source and disable APT integration with the --skip-packages option.
Other highlights: support for PostgreSQL, MySQL views & triggers, and a major usability rehaul designed to make it easier to understand and control how everything works. Magic can be scary in a backup tool.
Here's a TurnKey Hub screenshot I took testing TKLBAM on various versions of Ubuntu:
Announcement late? Blame my problem child
As those of you following TurnKey closely may have already noticed, the website was actually updated with the TurnKey 13.0 images a few weeks ago.
I was supposed to officially announce TurnKey 13's release around the same time but got greedy and decided to wrap up TKLBAM 1.4 first and announce them together.
TKLBAM 1.4 wasn't supposed to happen. That it did is the result of a spontaneous binge of passionate development I got sucked into after realizing how close I was to making it a lot more useful to a lot more people. From the release notes:
More people would find TKLBAM useful if:
If it worked on other Linux distributions (e.g., Debian and Ubuntu to begin with)
If users understood how it worked and realized they were in control. Magic is scary in a backup tool.
If it worked without the TurnKey Hub or better yet without needing a network connection at all.
If users realized that TKLBAM works with all the usual non-cloud storage back-ends such as the local filesystem, rsync, ftp, ssh, etc.
If users could more easily tell when something is wrong, diagnose the problem and fix it without having to go through TKLBAM's code or internals
If users could mix and match different parts of TKLBAM as required (e.g., the part that identifies system changes, the part that interfaces with Duplicity to incrementally update their encrypted backup archives, etc.)
If users could embed TKLBAM in their existing backup solutions
If users realized TKLBAM allowed them to backup different things at different frequencies (e.g., the database every hour, the code every day, the system every week)
Monolithic all-or-nothing system-level backups are not the only way to go.
If it could help with broken migrations (e.g., restoring a backup from TurnKey Redmine 12 to TurnKey Redmine 13)
If it worked more robustly, tolerated failures, and with fewer bugs
So that's why the release announcement is late and Alon is slightly pissed off but I'm hoping the end result makes up for it.
TurnKey 13: from 0.5GB to 330GB in 5 years
Big things have small beginnings. We launched TurnKey Linux five years ago in 2008 as a cool side project that took up 0.5GB on SourceForge and distributed 3 installable Live CD images of LAMP stack, Drupal and Joomla.
5 years later the project has ballooned to over 330GB spanning 1400 images: 100 apps, 7 build types, in both 64-bit and 32-bit versions. So now we're getting upset emails from SourceForge asking if the project really needs to take up so much disk space.
Yes, and sorry about that. For what it's worth, realizing TurnKey may eventually outgrow SourceForge is part of the reason we created our own independent mirror network (well, that and rsync/ftp access). Sourceforge is great, but just in case...
93,555 lines of code in 177 git repos
In terms of development, I recently collected stats on the 177 git repositories that make up the app library, self-contained build system, and a variety of custom components (e.g., TKLBAM, the TurnKey Hub).
It turns out over the years we've written about 93,555 lines of code just for TurnKey, most of it in Python and shell script. Check it out:
Late but open (and hopefully worth it)
TurnKey 13 came out a few months later than we originally planned. By now we have a pretty good handle on what it takes to push out a release so the main reason for the delay was that we kept moving the goal posts.
In a nutshell, we decided it was more important for the next major TurnKey release to be open than it was to come out early.
The main disadvantage was that Debian 7 ("Wheezy") had come out in the meantime and TurnKey 12 was based on Debian 6 ("Squeeze"). On the other hand Debian 6 would be supported for another year and since TurnKey is just Debian under the hood nothing prevented impatient users who wanted to upgrade the base operating system to Debian 7 to go through the usual automated and relatively painless Debian upgrade procedure.
So we first finished work on TKLDev, put it through the trenches with the TurnKey 12.1 maintenance release, and moved the project's development infrastructure to GitHub where all development could happen out in the open.
We hoped to see a steady increase in future open source collaboration on TurnKey's development and so far so good. I don't expect the sea to part as it takes more than just the right tools & infrastructure to really make an open source project successful. It takes community and community building takes time. TurnKey needs to win over contributors one by one.
Alon called TurnKey 13.0 "a community effort" which I think in all honesty may have been a bit premature, but we are seeing the blessed beginnings of the process in the form of a steadily growing stream of much appreciated community contributions. Not just new prototype TurnKey apps and code submissions but also more bug reports, feature requests and wiki edits.
And when word gets out on just how fun and easy it is to roll your own Linux distribution I think we'll see more of that too. Remember, with TKLDev, rolling your own Debian based Linux distribution is as easy as running make:
root@tkldev ~$ cd awesomenix /turnkey/fab/products/turnkey/awesomenix root@tkldev turnkey/awesomenix$ make
You don't even have to use TKLDev to build TurnKey apps or use any TurnKey packages or components. You can build anything you want!
Sadly, I've gotten into the nasty habit of prepending TKL - the TurnKey initials - to all the TurnKey related stuff I develop but under the hood the system is about as general purpose as it can get. It's also pretty well designed and easy to use, if I don't (cough) say so myself.
I'll be delighted if you use TKLDev to help us improve TurnKey but everyone is more than welcome to use it for other things as well.
OpenVPN: a full-featured open source SSL VPN solution that accommodates a wide range of configurations, including remote access, site-to-site VPNs, Wi-Fi security, and more.
Matt Ayers from Amazon asked us to consider including an OpenVPN appliance in the next release and Alon blew it out of the park with the integration for this one.
The new TurnKey OpenVPN is actually a 3 for 1 - TurnKey's setup process asks whether you want OpenVPN in client, server or gateway mode and sets things up accordingly.
My favourite feature is the one that allows the admin to create self destructing URLs with scannable QRcodes that makes setting up client OpenVPN profiles on mobiles a breeze. That's pretty cool.
Tendenci: a content management system built specifically for NPOs (Non Profit Organizations).
Upstream's Jenny Qian did such an excellent job developing the new TurnKey app that we accepted it into the library with only a few tiny modifications.
This is the first time an upstream project has used TKLDev to roll their own TurnKey app. It would be awesome to see more of this happening and we'll be happy to aid any similar efforts in this vain any way we can.
Observium: a really cool autodiscovering SNMP based network monitoring platform.
The new TurnKey app is based on a prototype developed by Eric Young, who also developed a few other prototype apps which we plan on welcoming into the library as soon as we work out the kinks. Awesome work Eric!
- Jeremy Davis (AKA the venerable JedMeister of TurnKey forum fame)
- Andres Toomsalu, OpenNode founder and TurnKey's newest software partner.
Extra special thanks
- Alon's wife Hilla: for putting up with too many late work sessions.
- Liraz's girlfriend Shir: for putting up with such a difficult specimen (in general).