Initial commit for the documentation
[snf-image-creator] / docs / overview.rst
1 Overview
2 ========
3
4 snf-image-creator is a simple command-line tools for creating OS images. The
5 original media from which the image is created, can be a block device or a
6 regular file that represents a hard disk. Given a media file, snf-image-creator
7 will create a snapshot for it and will run a number of image preparation task
8 on the snapshot, before the image is created.
9
10 Snapshotting
11 ------------
12
13 snf-image-creator works on snapshots of the original media. Any changes made by
14 the program do not affect the original media.
15
16 Preparation
17 -----------
18
19 Some of the image preparation tasks that run on each image are OS specific.
20 snf-image-creator will use heuristics to detect the OS of the image and
21 determine which tasks should run on it. The main purpose of running those tasks
22 is to:
23
24  * Shrink the image
25  * Clear out sensitive user data (passwords, keys, etc.)
26  * Prepare the image for being deployed on a virtual environment (change device
27    files, remove persistent net rules, etc.)
28
29 Creation
30 --------
31
32 The program can either dump the image file locally or directly upload it to
33 pithos and register it with `okeanos <http://www.okeanos.grnet.gr>`_.
34
35 Image Format
36 ------------
37
38 The images the program creates are in diskdump format. This is the recommended
39 format for `snf-image <https://code/grnet.gr/projects/snf-image>`_, the Ganeti
40 OS Definition used by `Synnefo <https://code.grnet.gr/projects/synnefo>`_.