mirror of
https://github.com/kevingruesser/bootstrap-vz.git
synced 2025-08-24 07:26:29 +00:00
![]() Up until now I didn't see the point of using spaces for indentation. However, the previous commit (a18bec3) was quite eye opening. Given that python is an indentation aware language, the amount of mistakes that went unnoticed because tabs and spaces were used at the same time (tabs for indentation and spaces for alignment) were unacceptable. E101,W191 have been re-enable in the tox flake8 checker and the documentation has been modified accordingly. The following files have been left as-is: * bootstrapvz/common/assets/extlinux/extlinux.conf * bootstrapvz/common/assets/init.d/expand-root * bootstrapvz/common/assets/init.d/generate-ssh-hostkeys * bootstrapvz/common/assets/init.d/squeeze/generate-ssh-hostkeys * bootstrapvz/plugins/docker_daemon/assets/init.d/docker * bootstrapvz/providers/ec2/assets/bin/growpart * bootstrapvz/providers/ec2/assets/grub.d/40_custom * bootstrapvz/providers/ec2/assets/init.d/ec2-get-credentials * bootstrapvz/providers/ec2/assets/init.d/ec2-run-user-data * docs/_static/taskoverview.coffee * docs/_static/taskoverview.less * tests/unit/subprocess.sh |
||
---|---|---|
.. | ||
assets | ||
tasks | ||
__init__.py | ||
ebsvolume.py | ||
manifest-schema-s3.yml | ||
manifest-schema.yml | ||
README.rst |
EC2 === The `EC2 <http://aws.amazon.com/ec2/>`__ provider automatically creates a volume for bootstrapping (be it EBS or S3), makes a snapshot of it once it is done and registers it as an AMI. EBS volume backing only works on an EC2 host while S3 backed volumes *should* work locally (at this time however they do not, a fix is in the works). Unless `the cloud-init plugin <../../plugins/cloud_init>`__ is used, special startup scripts will be installed that automatically fetch the configured authorized\_key from the instance metadata and save or run any userdata supplied (if the userdata begins with ``#!`` it will be run). Set the variable ``install_init_scripts`` to ``False`` in order to disable this behaviour. Manifest settings ----------------- Credentials ~~~~~~~~~~~ The AWS credentials can be configured in two ways: Via the manifest or through environment variables. To bootstrap S3 backed instances you will need a user certificate and a private key in addition to the access key and secret key, which are needed for bootstraping EBS backed instances. The settings describes below should be placed in the ``credentials`` key under the ``provider`` section. - ``access-key``: AWS access-key. May also be supplied via the environment variable ``$AWS_ACCESS_KEY`` ``required for EBS & S3 backing`` - ``secret-key``: AWS secret-key. May also be supplied via the environment variable ``$AWS_SECRET_KEY`` ``required for EBS & S3 backing`` - ``certificate``: Path to the AWS user certificate. Used for uploading the image to an S3 bucket. May also be supplied via the environment variable ``$AWS_CERTIFICATE`` ``required for S3 backing`` - ``private-key``: Path to the AWS private key. Used for uploading the image to an S3 bucket. May also be supplied via the environment variable ``$AWS_PRIVATE_KEY`` ``required for S3 backing`` - ``user-id``: AWS user ID. Used for uploading the image to an S3 bucket. May also be supplied via the environment variable ``$AWS_USER_ID`` ``required for S3 backing`` Example: .. code-block:: yaml --- provider: name: ec2 credentials: access-key: AFAKEACCESSKEYFORAWS secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva Virtualization ~~~~~~~~~~~~~~ EC2 supports both paravirtual and hardware virtual machines. The virtualization type determines various factors about the virtual machine performance (read more about this `in the EC2 docs`__). __ http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html - ``virtualization``: The virtualization type Valid values: ``pvm``, ``hvm`` ``required`` Example: .. code-block:: yaml --- provider: name: ec2 virtualization: hvm Enhanced networking ~~~~~~~~~~~~~~~~~~~ Install enhanced networking drivers to take advantage of SR-IOV capabilities on hardware virtual machines. Read more about this in `the EC2 docs`__. __ http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html Example: .. code-block:: yaml --- provider: name: ec2 virtualization: hvm enhanced_networking: simple Image ~~~~~ - ``description``: Description of the AMI. ``manifest vars`` - ``bucket``: When bootstrapping an S3 backed image, this will be the bucket where the image is uploaded to. ``required for S3 backing`` - ``region``: Region in which the AMI should be registered. ``required for S3 backing`` Example: .. code-block:: yaml --- provider: name: ec2 description: Debian {system.release} {system.architecture} bucket: debian-amis region: us-west-1 Dependencies ------------ To communicate with the AWS API `boto <https://github.com/boto/boto>`__ is required (version 2.14.0 or higher) you can install boto with ``pip install boto`` (on wheezy, the packaged version is too low). S3 images are chopped up and uploaded using `euca2ools <https://github.com/eucalyptus/euca2ools>`__ (install with ``apt-get install euca2ools``).