Git Product home page Git Product logo

build-debian-cloud's Introduction

#This project has been superseeded by bootstrap-vz and is no longer maintained.#

Debian bootstrapping script for Amazon machine images and Google Compute Engine images

This script bootstraps a vanilla Debian installation to create either an Amazon machine image or a Google Compute Engine image. The image contains no latent logfiles no .bash_history or even the apt package cache.
The machine configuration this script creates has been thoroughly tested.

This script has been tested on Debian squeeze and wheezy. To create an AMI this bootstrapper needs to be run on an Amazon EC2 instance.

Official AMIs provided by the Debian community and Amazon

The Debian community and Amazon have together created AMIs using this bootstrapper and replicated them across AWS regions. The images have been tested for security and bugs. They are available on the aws marketplace.

For each new official AMI a commit in this repository will be tagged, marking the version the AMI was bootstrapped with.

More information about these images and links to the gzipped volume images can be found on the Debian wiki page dedicated to those images.

Usage

The script is started with ./build-debian-cloud. You can choose to either bootstrap a Debian AMI (./build-debian-cloud ec2) or a Google Compute Engine image (./build-debian-cloud gce). Both modes have sensible defaults and can be configured with options and plugins. To see a list of options use --help. When creating an AMI the script at least needs to know your AWS credentials.

There are no interactive prompts, the bootstrapping can run entirely unattended from start till finish.

Some plugins are included in the plugins directory. A list of external plugins is also provided there. If none of those scratch your itch, you can of course write your own plugin.

Features

AMI features

  • EBS booted
  • Base installation uses only 289MB
  • Base installation bootup time ~45s* (from AMI launch to SSH connectivity)
  • Support for both ext* and xfs
  • Uses standard Debian Xen kernel from apt
  • update-grub creates an actual menu.lst which pvGrub can read
  • ec2 system log is not cluttered by grub menu
  • ec2 startup scripts:
    • ec2-get-credentials: Copies the ec2 keypair to ~/.ssh/authorized_keys
    • ec2-run-user-data: If the userdata starts with #! it will be executed
    • generate-ssh-hostkeys: Generates hostkeys for sshd on first boot
    • expand-volume: Expands the root partition to the volume size

*The bootup time was measured with this script

Bootstrapper (AMI) features

  • EBS volume is automatically created, mounted, formatted, unmounted, "snapshotted" and deleted
  • AMI is automatically registered with the right kernels for the current region of the host machine
  • Supports Debian squeeze and wheezy
  • Can create both 32-bit and 64-bit AMIs
  • Plugin system to keep the bootstrapping process automated
  • The process is divided into simple task based scripts
  • Uses only free software in accordance with the Debian Social Contract.
    (In particular: The EC2 API Tools have been replaced with euca2ools)

build-debian-cloud's People

Contributors

adangel avatar andsens avatar ckaenzig avatar crigor avatar fredj avatar himanshuvasishth avatar jeremyje avatar jkaplowitz avatar joshkraemer avatar kenshaw avatar mbornoz avatar mika avatar rybaktomasz avatar soult avatar ssgelm avatar tmatilai avatar yanfalies avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.