View Full Version : Application API Proposal

December 21st, 2005, 05:55 PM
After Amanda 2.5.0 is released, one of the enhancements to Amanda will be the introduction of the Application API. This enhancement will allow for easy addition of new dump programs such as s-tar, hfsdump, or incremental SQL database dumps.

This API supercedes the previous Dumper API proposal.

Because the Application API represents an important enchancement, please provide feedback on the proposal. The draft specification of API concepts and workings is located here: http://wiki.zmanda.com/index.php/Application_API

December 22nd, 2005, 01:09 AM
One thing that I like about Amanda (which we have been using since the days when a 2G Exabyte seemed huge) is that in an emergency, a bare metal restore is possible using only the underlying operating system and the tape drive. This is not something that should be lost lightly.

Chris Ritson, Computing Science, University of Newcastle, UK.

December 23rd, 2005, 01:19 PM

I have no intention of compromising such a powerful advantage. Native-tools restore is completely compatible with the Application API; indeed, one of the main points of the Application API is to extend existing native-tools support to other kinds of tools, like hfsdump or pg_dump.

There are some advantages to a backup-specific tape format, the biggest one being performance improvements. But those are not in the scope of the Application API, which is primarily a client-side change.



May 7th, 2008, 11:34 AM
I read a little on the Wiki about the Application API. My first question is, is it in the current 2.6.0 release? The Wiki page seems to indicate that this is still a proposal. I couldn't find reference to it under "features" for 2.5.0 through 2.6.0.

If the Application API is in the current Amanda release, does that mean that I can write my own application and invoke Amanda functionality through the API? For example, the Backup function.

Thanks, for any information. I'm new to the backup/archive world, so apologies if my questions sound a bit naive.


May 7th, 2008, 11:55 AM
As far as implementation, phase 1 is available in 2.6.0. The main developer working on the App API is Jean-Louis Martineau. If you're interested in the API, please subscribe to the amanda-hackers list and start up a conversation there.

Your second paragraph suggests a misunderstanding, though -- in the Amanda sense, an application is a utility that knows how to convert a particular kind of data (filesystem, database, Exchange DB, etc.) into a datastream that Amanda can place on tape, and how to handle that datastream during restore/recovery. So if you were to write an application, Amanda would invoke your application, not the other way 'round.