[Soc-coordination] Report 2 — Lyncee - A Debian virtual image web tool
Miguel Gaiowski
miggaiowski at gmail.com
Mon Jun 18 01:32:46 UTC 2012
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
More information about the Soc-coordination
mailing list