Second Debian Report Project: Lyncee - A Debian virtual image web tool The project I'm working on is to create a web interface that lets the users create custom virtual Debian images. The project can roughly be separated as backend and frontend, and I've been working on the former these past two weeks.
There is a very good tool called grml-debootstrap that automatizes the creation of Debian images. We are using it as a large part of the backend system, letting it do the hard work of installing the distro and all the packages, grub and everything else. We are gonna take the input from the user through the web interface and create an archive with all the configuration chosen, the list of packages, scripts to run on first boot, and everything else. With this archive, we need to call grml-debootstrap with the appropriate parameters. I've been working on a Python module with all the functions necessary to manipulate these archives. It basically takes data structures and creates the archive on disk and the inverse process, taking the archive files and putting everything into data structures for further use. This module will be used by both the backend and the fronted. The backend also has another part, the interface with grml-debootstrap. It uses the archive util functions to read an archive, checks its validity and proceeds to call grml-debootstrap. Most of the parameters are obtained from the configuration file inside the archive. The list of packages is also kept in the archive and passed to grml-debootstrap. The things I've just described are already implemented and working, with unit tests and all. Further work needs to be done in the backend, such as implementing templates, config scripts, network configuration, etc. I've chosen to start working on the frontend instead, to try and have a working complete tool, albeit the lack of features. From there, I can start iterating and adding more features to the frontend and backend. The frontend is what I'll be doing now. I will write it using Python and Django. So the first thing I want to do is let the user choose basic settings and packages from the web interface, store this info in the database and let the archive util module fetch those from the DB and pass it on to the backend. That being done, we will have a first deliverable part of the project. All my code is hosted on alioth. The project is at [0]. The git repo is at [1]. ---------------------------------------------------------------------- [0] https://alioth.debian.org/projects/lyncee/ [1] git.debian.org/git/lyncee/lyncee.git ---------------------------------------------------------------------- Miguel Gaiowski -- Miguel Fco. A. de Mattos Gaiowski _______________________________________________ Soc-coordination mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/soc-coordination
