mirror of
https://github.com/kevingruesser/bootstrap-vz.git
synced 2025-08-24 15:36:27 +00:00
Remove image section in manifest
All provider specific settings have been moved to the provider section. The image name itself is now located at the top level and called "name". It is required for all providers.
This commit is contained in:
parent
2923f25767
commit
c880a6849a
42 changed files with 131 additions and 126 deletions
|
@ -2,8 +2,10 @@
|
||||||
$schema: http://json-schema.org/draft-04/schema#
|
$schema: http://json-schema.org/draft-04/schema#
|
||||||
title: Generic manifest
|
title: Generic manifest
|
||||||
type: object
|
type: object
|
||||||
required: [provider, bootstrapper, system, volume]
|
required: [name, provider, bootstrapper, system, volume]
|
||||||
properties:
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
provider:
|
provider:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
@ -40,11 +42,6 @@ properties:
|
||||||
- scratchbox
|
- scratchbox
|
||||||
required: [workspace]
|
required: [workspace]
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
image:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
name: {type: string}
|
|
||||||
required: [name]
|
|
||||||
system:
|
system:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
|
|
@ -100,9 +100,9 @@ class Manifest(object):
|
||||||
don't have to access information with info.manifest.data['section']
|
don't have to access information with info.manifest.data['section']
|
||||||
but can do it with info.manifest.section.
|
but can do it with info.manifest.section.
|
||||||
"""
|
"""
|
||||||
|
self.name = self.data['name']
|
||||||
self.provider = self.data['provider']
|
self.provider = self.data['provider']
|
||||||
self.bootstrapper = self.data['bootstrapper']
|
self.bootstrapper = self.data['bootstrapper']
|
||||||
self.image = self.data['image']
|
|
||||||
self.volume = self.data['volume']
|
self.volume = self.data['volume']
|
||||||
self.system = self.data['system']
|
self.system = self.data['system']
|
||||||
from bootstrapvz.common.releases import get_release
|
from bootstrapvz.common.releases import get_release
|
||||||
|
|
|
@ -8,7 +8,7 @@ class MoveImage(Task):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def run(cls, info):
|
def run(cls, info):
|
||||||
image_name = info.manifest.image['name'].format(**info.manifest_vars)
|
image_name = info.manifest.name.format(**info.manifest_vars)
|
||||||
filename = image_name + '.' + info.volume.extension
|
filename = image_name + '.' + info.volume.extension
|
||||||
|
|
||||||
import os.path
|
import os.path
|
||||||
|
|
|
@ -13,7 +13,7 @@ class CheckBoxPath(Task):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def run(cls, info):
|
def run(cls, info):
|
||||||
box_basename = info.manifest.image['name'].format(**info.manifest_vars)
|
box_basename = info.manifest.name.format(**info.manifest_vars)
|
||||||
box_name = box_basename + '.box'
|
box_name = box_basename + '.box'
|
||||||
box_path = os.path.join(info.manifest.bootstrapper['workspace'], box_name)
|
box_path = os.path.join(info.manifest.bootstrapper['workspace'], box_name)
|
||||||
if os.path.exists(box_path):
|
if os.path.exists(box_path):
|
||||||
|
|
|
@ -107,8 +107,24 @@ Example:
|
||||||
Image
|
Image
|
||||||
~~~~~
|
~~~~~
|
||||||
|
|
||||||
- ``image.description``: Description of the AMI.
|
- ``description``: Description of the AMI.
|
||||||
``manifest vars``
|
``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:: yaml
|
||||||
|
|
||||||
|
---
|
||||||
|
provider:
|
||||||
|
name: ec2
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
|
bucket: debian-amis
|
||||||
|
region: us-west-1
|
||||||
|
|
||||||
|
|
||||||
Dependencies
|
Dependencies
|
||||||
|
|
|
@ -3,14 +3,6 @@ $schema: http://json-schema.org/draft-04/schema#
|
||||||
title: EC2 manifest for instance store AMIs
|
title: EC2 manifest for instance store AMIs
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
image:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
bucket: {type: string}
|
|
||||||
region: {$ref: '#/definitions/aws-region'}
|
|
||||||
required:
|
|
||||||
- bucket
|
|
||||||
- region
|
|
||||||
provider:
|
provider:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
@ -22,7 +14,11 @@ properties:
|
||||||
user-id:
|
user-id:
|
||||||
type: string
|
type: string
|
||||||
pattern: (^arn:aws:iam::\d*:user/\w.*$)|(^\d{4}-\d{4}-\d{4}$)
|
pattern: (^arn:aws:iam::\d*:user/\w.*$)|(^\d{4}-\d{4}-\d{4}$)
|
||||||
required: [image]
|
bucket: {type: string}
|
||||||
|
region: {$ref: '#/definitions/aws-region'}
|
||||||
|
required:
|
||||||
|
- bucket
|
||||||
|
- region
|
||||||
definitions:
|
definitions:
|
||||||
aws-region:
|
aws-region:
|
||||||
enum:
|
enum:
|
||||||
|
|
|
@ -3,13 +3,10 @@ $schema: http://json-schema.org/draft-04/schema#
|
||||||
title: EC2 manifest
|
title: EC2 manifest
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
image:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
description: {type: string}
|
|
||||||
provider:
|
provider:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
description: {type: string}
|
||||||
credentials:
|
credentials:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
|
|
@ -18,8 +18,8 @@ class AMIName(Task):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def run(cls, info):
|
def run(cls, info):
|
||||||
ami_name = info.manifest.image['name'].format(**info.manifest_vars)
|
ami_name = info.manifest.name.format(**info.manifest_vars)
|
||||||
ami_description = info.manifest.image['description'].format(**info.manifest_vars)
|
ami_description = info.manifest.provider['description'].format(**info.manifest_vars)
|
||||||
|
|
||||||
images = info._ec2['connection'].get_all_images(owners=['self'])
|
images = info._ec2['connection'].get_all_images(owners=['self'])
|
||||||
for image in images:
|
for image in images:
|
||||||
|
@ -64,9 +64,9 @@ class UploadImage(Task):
|
||||||
s3_url = 'https://s3.cn-north-1.amazonaws.com.cn'
|
s3_url = 'https://s3.cn-north-1.amazonaws.com.cn'
|
||||||
else:
|
else:
|
||||||
s3_url = 'https://s3-{region}.amazonaws.com/'.format(region=info._ec2['region'])
|
s3_url = 'https://s3-{region}.amazonaws.com/'.format(region=info._ec2['region'])
|
||||||
info._ec2['manifest_location'] = info.manifest.image['bucket'] + '/' + info._ec2['ami_name'] + '.manifest.xml'
|
info._ec2['manifest_location'] = info.manifest.provider['bucket'] + '/' + info._ec2['ami_name'] + '.manifest.xml'
|
||||||
log_check_call(['euca-upload-bundle',
|
log_check_call(['euca-upload-bundle',
|
||||||
'--bucket', info.manifest.image['bucket'],
|
'--bucket', info.manifest.provider['bucket'],
|
||||||
'--manifest', manifest_file,
|
'--manifest', manifest_file,
|
||||||
'--access-key', info.credentials['access-key'],
|
'--access-key', info.credentials['access-key'],
|
||||||
'--secret-key', info.credentials['secret-key'],
|
'--secret-key', info.credentials['secret-key'],
|
||||||
|
|
|
@ -35,4 +35,4 @@ class SetRegion(Task):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def run(cls, info):
|
def run(cls, info):
|
||||||
info._ec2['region'] = info.manifest.image['region']
|
info._ec2['region'] = info.manifest.provider['region']
|
||||||
|
|
|
@ -11,4 +11,21 @@ be used by Google Compute Engine to project provided in manifest by
|
||||||
Manifest settings
|
Manifest settings
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
- ``image.description``: Description of the image.
|
Provider
|
||||||
|
~~~~~~~~
|
||||||
|
|
||||||
|
- ``description``: Description of the image.
|
||||||
|
- ``gcs_destination``: Image destination in GSE.
|
||||||
|
- ``gce_project``: GCE project in which to register the image.
|
||||||
|
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
.. code:: yaml
|
||||||
|
|
||||||
|
---
|
||||||
|
provider:
|
||||||
|
name: gce
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
|
gcs_destination: gs://my-bucket
|
||||||
|
gce_project: my-project
|
||||||
|
|
|
@ -60,9 +60,9 @@ def resolve_tasks(taskset, manifest):
|
||||||
taskset.update([tasks.initd.AddGrowRootDisable,
|
taskset.update([tasks.initd.AddGrowRootDisable,
|
||||||
kernel.UpdateInitramfs])
|
kernel.UpdateInitramfs])
|
||||||
|
|
||||||
if 'gcs_destination' in manifest.image:
|
if 'gcs_destination' in manifest.provider:
|
||||||
taskset.add(tasks.image.UploadImage)
|
taskset.add(tasks.image.UploadImage)
|
||||||
if 'gce_project' in manifest.image:
|
if 'gce_project' in manifest.provider:
|
||||||
taskset.add(tasks.image.RegisterImage)
|
taskset.add(tasks.image.RegisterImage)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ $schema: http://json-schema.org/draft-04/schema#
|
||||||
title: GCE manifest
|
title: GCE manifest
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
image:
|
provider:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
description: {type: string}
|
description: {type: string}
|
||||||
|
|
|
@ -13,7 +13,7 @@ class CreateTarball(Task):
|
||||||
@classmethod
|
@classmethod
|
||||||
def run(cls, info):
|
def run(cls, info):
|
||||||
import datetime
|
import datetime
|
||||||
image_name = info.manifest.image['name'].format(**info.manifest_vars)
|
image_name = info.manifest.name.format(**info.manifest_vars)
|
||||||
filename = image_name + '.' + info.volume.extension
|
filename = image_name + '.' + info.volume.extension
|
||||||
today = datetime.datetime.today()
|
today = datetime.datetime.today()
|
||||||
name_suffix = today.strftime('%Y%m%d')
|
name_suffix = today.strftime('%Y%m%d')
|
||||||
|
@ -42,7 +42,7 @@ class UploadImage(Task):
|
||||||
@classmethod
|
@classmethod
|
||||||
def run(cls, info):
|
def run(cls, info):
|
||||||
log_check_call(['gsutil', 'cp', info._gce['tarball_path'],
|
log_check_call(['gsutil', 'cp', info._gce['tarball_path'],
|
||||||
info.manifest.image['gcs_destination'] + info._gce['tarball_name']])
|
info.manifest.provider['gcs_destination'] + info._gce['tarball_name']])
|
||||||
|
|
||||||
|
|
||||||
class RegisterImage(Task):
|
class RegisterImage(Task):
|
||||||
|
@ -53,9 +53,9 @@ class RegisterImage(Task):
|
||||||
@classmethod
|
@classmethod
|
||||||
def run(cls, info):
|
def run(cls, info):
|
||||||
image_description = info._gce['lsb_description']
|
image_description = info._gce['lsb_description']
|
||||||
if 'description' in info.manifest.image:
|
if 'description' in info.manifest.provider:
|
||||||
image_description = info.manifest.image['description']
|
image_description = info.manifest.provider['description']
|
||||||
log_check_call(['gcutil', '--project=' + info.manifest.image['gce_project'],
|
log_check_call(['gcutil', '--project=' + info.manifest.provider['gce_project'],
|
||||||
'addimage', info._gce['image_name'],
|
'addimage', info._gce['image_name'],
|
||||||
info.manifest.image['gcs_destination'] + info._gce['tarball_name'],
|
info.manifest.provider['gcs_destination'] + info._gce['tarball_name'],
|
||||||
'--description=' + image_description])
|
'--description=' + image_description])
|
||||||
|
|
|
@ -26,6 +26,26 @@ Sections
|
||||||
|
|
||||||
The manifest is split into 7 sections.
|
The manifest is split into 7 sections.
|
||||||
|
|
||||||
|
Name
|
||||||
|
~~~~~
|
||||||
|
|
||||||
|
Single string property that specifies the name of the image.
|
||||||
|
|
||||||
|
- ``name``: The name of the resulting image.
|
||||||
|
When bootstrapping cloud images, this would be the name visible in
|
||||||
|
the interface when booting up new instances.
|
||||||
|
When bootstrapping for VirtualBox or kvm, it's the filename of the
|
||||||
|
image.
|
||||||
|
``required``
|
||||||
|
``manifest vars``
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
.. code:: yaml
|
||||||
|
|
||||||
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{%Y}-{%m}-{%d}-ebs
|
||||||
|
|
||||||
Provider
|
Provider
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|
||||||
|
@ -76,25 +96,10 @@ are 4 possible settings:
|
||||||
It specifies the path to the VirtualBox Guest Additions ISO, which, when specified,
|
It specifies the path to the VirtualBox Guest Additions ISO, which, when specified,
|
||||||
will be mounted and used to install the VirtualBox Guest Additions.
|
will be mounted and used to install the VirtualBox Guest Additions.
|
||||||
``optional``
|
``optional``
|
||||||
|
- ``variant``:
|
||||||
|
|
||||||
Image
|
|
||||||
~~~~~
|
|
||||||
|
|
||||||
The image section configures anything pertaining directly to the image
|
|
||||||
that will be created.
|
|
||||||
|
|
||||||
- ``name``: The name of the resulting image.
|
|
||||||
When bootstrapping cloud images, this would be the name visible in
|
|
||||||
the interface when booting up new instances.
|
|
||||||
When bootstrapping for VirtualBox or kvm, it's the filename of the
|
|
||||||
image.
|
|
||||||
``required``
|
|
||||||
``manifest vars``
|
|
||||||
- ``bucket``: When bootstrapping an S3 backed image for AWS, 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``
|
|
||||||
|
|
||||||
System
|
System
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{%y}{%m}{%d}
|
||||||
provider:
|
provider:
|
||||||
name: azure
|
name: azure
|
||||||
waagent:
|
waagent:
|
||||||
|
@ -6,8 +7,6 @@ provider:
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
mirror: http://httpredir.debian.org/debian/
|
mirror: http://httpredir.debian.org/debian/
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{%y}{%m}{%d}
|
|
||||||
system:
|
system:
|
||||||
release: jessie
|
release: jessie
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{%y}{%m}{%d}
|
||||||
provider:
|
provider:
|
||||||
name: azure
|
name: azure
|
||||||
waagent:
|
waagent:
|
||||||
|
@ -6,8 +7,6 @@ provider:
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
mirror: http://httpredir.debian.org/debian/
|
mirror: http://httpredir.debian.org/debian/
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{%y}{%m}{%d}
|
|
||||||
system:
|
system:
|
||||||
release: wheezy
|
release: wheezy
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{%y}{%m}{%d}
|
||||||
provider:
|
provider:
|
||||||
name: docker
|
name: docker
|
||||||
repository: bootstrap-vz
|
repository: bootstrap-vz
|
||||||
|
@ -6,9 +7,6 @@ provider:
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
variant: minbase
|
variant: minbase
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{%y}{%m}{%d}
|
|
||||||
description: Debian {system.release} {system.architecture}
|
|
||||||
system:
|
system:
|
||||||
release: jessie
|
release: jessie
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
||||||
provider:
|
provider:
|
||||||
name: ec2
|
name: ec2
|
||||||
virtualization: pvm
|
virtualization: pvm
|
||||||
# credentials:
|
# credentials:
|
||||||
# access-key: AFAKEACCESSKEYFORAWS
|
# access-key: AFAKEACCESSKEYFORAWS
|
||||||
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
|
||||||
description: Debian {system.release} {system.architecture}
|
|
||||||
system:
|
system:
|
||||||
release: testing
|
release: testing
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
||||||
provider:
|
provider:
|
||||||
name: ec2
|
name: ec2
|
||||||
virtualization: pvm
|
virtualization: pvm
|
||||||
# credentials:
|
# credentials:
|
||||||
# access-key: AFAKEACCESSKEYFORAWS
|
# access-key: AFAKEACCESSKEYFORAWS
|
||||||
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
|
||||||
description: Debian {system.release} {system.architecture}
|
|
||||||
system:
|
system:
|
||||||
release: unstable
|
release: unstable
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
||||||
provider:
|
provider:
|
||||||
name: ec2
|
name: ec2
|
||||||
virtualization: pvm
|
virtualization: pvm
|
||||||
# credentials:
|
# credentials:
|
||||||
# access-key: AFAKEACCESSKEYFORAWS
|
# access-key: AFAKEACCESSKEYFORAWS
|
||||||
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
|
||||||
description: Debian {system.release} {system.architecture}
|
|
||||||
system:
|
system:
|
||||||
release: unstable
|
release: unstable
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%y}{%m}{%d}
|
||||||
provider:
|
provider:
|
||||||
name: ec2
|
name: ec2
|
||||||
virtualization: pvm
|
virtualization: pvm
|
||||||
|
@ -8,13 +9,11 @@ provider:
|
||||||
# certificate: /path/to/your/certificate.pem
|
# certificate: /path/to/your/certificate.pem
|
||||||
# private-key: /path/to/your/private.key
|
# private-key: /path/to/your/private.key
|
||||||
# user-id: arn:aws:iam::123456789012:user/iamuser
|
# user-id: arn:aws:iam::123456789012:user/iamuser
|
||||||
bootstrapper:
|
|
||||||
workspace: /target
|
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%y}{%m}{%d}
|
|
||||||
description: Debian {system.release} {system.architecture} AMI
|
description: Debian {system.release} {system.architecture} AMI
|
||||||
bucket: debian-amis
|
bucket: debian-amis
|
||||||
region: us-west-1
|
region: us-west-1
|
||||||
|
bootstrapper:
|
||||||
|
workspace: /target
|
||||||
system:
|
system:
|
||||||
release: wheezy
|
release: wheezy
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{%y}{%m}{%d}
|
||||||
provider:
|
provider:
|
||||||
name: kvm
|
name: kvm
|
||||||
virtio_modules:
|
virtio_modules:
|
||||||
|
@ -6,8 +7,6 @@ provider:
|
||||||
- virtio_blk
|
- virtio_blk
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{%y}{%m}{%d}
|
|
||||||
system:
|
system:
|
||||||
release: wheezy
|
release: wheezy
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{%y}{%m}{%d}
|
||||||
provider:
|
provider:
|
||||||
name: kvm
|
name: kvm
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{%y}{%m}{%d}
|
|
||||||
system:
|
system:
|
||||||
release: wheezy
|
release: wheezy
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{%y}{%m}{%d}
|
||||||
provider:
|
provider:
|
||||||
name: virtualbox
|
name: virtualbox
|
||||||
guest_additions: /usr/share/virtualbox/VBoxGuestAdditions.iso
|
guest_additions: /usr/share/virtualbox/VBoxGuestAdditions.iso
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{%y}{%m}{%d}
|
|
||||||
system:
|
system:
|
||||||
release: wheezy
|
release: wheezy
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{%y}{%m}{%d}
|
||||||
provider:
|
provider:
|
||||||
name: virtualbox
|
name: virtualbox
|
||||||
guest_additions: /usr/share/virtualbox/VBoxGuestAdditions.iso
|
guest_additions: /usr/share/virtualbox/VBoxGuestAdditions.iso
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{%y}{%m}{%d}
|
|
||||||
system:
|
system:
|
||||||
release: wheezy
|
release: wheezy
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
||||||
provider:
|
provider:
|
||||||
name: ec2
|
name: ec2
|
||||||
virtualization: hvm
|
virtualization: hvm
|
||||||
|
@ -6,11 +7,9 @@ provider:
|
||||||
# credentials:
|
# credentials:
|
||||||
# access-key: AFAKEACCESSKEYFORAWS
|
# access-key: AFAKEACCESSKEYFORAWS
|
||||||
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
|
||||||
description: Debian {system.release} {system.architecture}
|
|
||||||
system:
|
system:
|
||||||
release: jessie
|
release: jessie
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
||||||
provider:
|
provider:
|
||||||
name: ec2
|
name: ec2
|
||||||
virtualization: pvm
|
virtualization: pvm
|
||||||
# credentials:
|
# credentials:
|
||||||
# access-key: AFAKEACCESSKEYFORAWS
|
# access-key: AFAKEACCESSKEYFORAWS
|
||||||
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
|
||||||
description: Debian {system.release} {system.architecture}
|
|
||||||
system:
|
system:
|
||||||
release: squeeze
|
release: squeeze
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
||||||
provider:
|
provider:
|
||||||
name: ec2
|
name: ec2
|
||||||
virtualization: pvm
|
virtualization: pvm
|
||||||
# credentials:
|
# credentials:
|
||||||
# access-key: AFAKEACCESSKEYFORAWS
|
# access-key: AFAKEACCESSKEYFORAWS
|
||||||
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
|
||||||
description: Debian {system.release} {system.architecture}
|
|
||||||
system:
|
system:
|
||||||
release: squeeze
|
release: squeeze
|
||||||
architecture: i386
|
architecture: i386
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
||||||
provider:
|
provider:
|
||||||
name: ec2
|
name: ec2
|
||||||
virtualization: hvm
|
virtualization: hvm
|
||||||
|
@ -6,11 +7,9 @@ provider:
|
||||||
# credentials:
|
# credentials:
|
||||||
# access-key: AFAKEACCESSKEYFORAWS
|
# access-key: AFAKEACCESSKEYFORAWS
|
||||||
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
|
||||||
description: Debian {system.release} {system.architecture}
|
|
||||||
system:
|
system:
|
||||||
release: wheezy
|
release: wheezy
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
||||||
provider:
|
provider:
|
||||||
name: ec2
|
name: ec2
|
||||||
virtualization: hvm
|
virtualization: hvm
|
||||||
|
@ -6,11 +7,9 @@ provider:
|
||||||
# credentials:
|
# credentials:
|
||||||
# access-key: AFAKEACCESSKEYFORAWS
|
# access-key: AFAKEACCESSKEYFORAWS
|
||||||
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
|
||||||
description: Debian {system.release} {system.architecture}
|
|
||||||
system:
|
system:
|
||||||
release: wheezy
|
release: wheezy
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
||||||
provider:
|
provider:
|
||||||
name: ec2
|
name: ec2
|
||||||
virtualization: pvm
|
virtualization: pvm
|
||||||
# credentials:
|
# credentials:
|
||||||
# access-key: AFAKEACCESSKEYFORAWS
|
# access-key: AFAKEACCESSKEYFORAWS
|
||||||
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
|
||||||
description: Debian {system.release} {system.architecture}
|
|
||||||
system:
|
system:
|
||||||
release: wheezy
|
release: wheezy
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
||||||
provider:
|
provider:
|
||||||
name: ec2
|
name: ec2
|
||||||
virtualization: pvm
|
virtualization: pvm
|
||||||
# credentials:
|
# credentials:
|
||||||
# access-key: AFAKEACCESSKEYFORAWS
|
# access-key: AFAKEACCESSKEYFORAWS
|
||||||
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
|
||||||
description: Debian {system.release} {system.architecture}
|
|
||||||
system:
|
system:
|
||||||
release: wheezy
|
release: wheezy
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
||||||
provider:
|
provider:
|
||||||
name: ec2
|
name: ec2
|
||||||
virtualization: pvm
|
virtualization: pvm
|
||||||
# credentials:
|
# credentials:
|
||||||
# access-key: AFAKEACCESSKEYFORAWS
|
# access-key: AFAKEACCESSKEYFORAWS
|
||||||
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
# secret-key: thes3cr3tkeyf0ryourawsaccount/FS4d8Qdva
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
|
|
||||||
description: Debian {system.release} {system.architecture}
|
|
||||||
system:
|
system:
|
||||||
release: wheezy
|
release: wheezy
|
||||||
architecture: i386
|
architecture: i386
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
---
|
---
|
||||||
|
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}
|
||||||
provider:
|
provider:
|
||||||
name: ec2
|
name: ec2
|
||||||
virtualization: pvm
|
virtualization: pvm
|
||||||
|
@ -8,13 +9,11 @@ provider:
|
||||||
# certificate: /path/to/your/certificate.pem
|
# certificate: /path/to/your/certificate.pem
|
||||||
# private-key: /path/to/your/private.key
|
# private-key: /path/to/your/private.key
|
||||||
# user-id: arn:aws:iam::123456789012:user/iamuser
|
# user-id: arn:aws:iam::123456789012:user/iamuser
|
||||||
bootstrapper:
|
|
||||||
workspace: /target
|
|
||||||
image:
|
|
||||||
name: debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}
|
|
||||||
description: Debian {system.release} {system.architecture} AMI
|
description: Debian {system.release} {system.architecture} AMI
|
||||||
bucket: debian-amis-cn-north-1
|
bucket: debian-amis-cn-north-1
|
||||||
region: cn-north-1
|
region: cn-north-1
|
||||||
|
bootstrapper:
|
||||||
|
workspace: /target
|
||||||
system:
|
system:
|
||||||
release: wheezy
|
release: wheezy
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
---
|
---
|
||||||
|
name: disk
|
||||||
provider:
|
provider:
|
||||||
name: gce
|
name: gce
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: disk
|
|
||||||
description: Debian {system.release} {system.architecture}
|
|
||||||
system:
|
system:
|
||||||
release: jessie
|
release: jessie
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
---
|
---
|
||||||
|
name: disk
|
||||||
provider:
|
provider:
|
||||||
name: gce
|
name: gce
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: disk
|
|
||||||
description: Debian {system.release} {system.architecture}
|
|
||||||
system:
|
system:
|
||||||
release: jessie
|
release: jessie
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
---
|
---
|
||||||
|
name: disk
|
||||||
provider:
|
provider:
|
||||||
name: gce
|
name: gce
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: disk
|
|
||||||
description: Debian {system.release} {system.architecture}
|
|
||||||
system:
|
system:
|
||||||
release: wheezy
|
release: wheezy
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
---
|
---
|
||||||
|
name: disk
|
||||||
provider:
|
provider:
|
||||||
name: gce
|
name: gce
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
image:
|
|
||||||
name: disk
|
|
||||||
description: Debian {system.release} {system.architecture}
|
|
||||||
system:
|
system:
|
||||||
release: wheezy
|
release: wheezy
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
|
|
|
@ -5,6 +5,7 @@ partials = {'ebs_hvm': '''
|
||||||
provider:
|
provider:
|
||||||
name: ec2
|
name: ec2
|
||||||
virtualization: hvm
|
virtualization: hvm
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
volume: {backing: ebs}
|
volume: {backing: ebs}
|
||||||
''',
|
''',
|
||||||
'extlinux': 'system: {bootloader: extlinux}',
|
'extlinux': 'system: {bootloader: extlinux}',
|
||||||
|
|
|
@ -5,6 +5,7 @@ partials = {'ebs_pvm': '''
|
||||||
provider:
|
provider:
|
||||||
name: ec2
|
name: ec2
|
||||||
virtualization: pvm
|
virtualization: pvm
|
||||||
|
description: Debian {system.release} {system.architecture}
|
||||||
system: {bootloader: pvgrub}
|
system: {bootloader: pvgrub}
|
||||||
volume: {backing: ebs}
|
volume: {backing: ebs}
|
||||||
'''
|
'''
|
||||||
|
|
|
@ -7,7 +7,8 @@ partials = {'s3_pvm': '''
|
||||||
provider:
|
provider:
|
||||||
name: ec2
|
name: ec2
|
||||||
virtualization: pvm
|
virtualization: pvm
|
||||||
image: {bucket: ''' + s3_bucket_name + '''}
|
description: Debian {system.release} {system.architecture}
|
||||||
|
bucket: ''' + s3_bucket_name + '''
|
||||||
system: {bootloader: pvgrub}
|
system: {bootloader: pvgrub}
|
||||||
volume: {backing: s3}
|
volume: {backing: s3}
|
||||||
'''
|
'''
|
||||||
|
|
|
@ -1,11 +1,9 @@
|
||||||
---
|
---
|
||||||
|
name: deb-{system.release}-{system.architecture}-{system.bootloader}-{volume.partitions.type}-{%y}{%m}{%d}
|
||||||
provider: {}
|
provider: {}
|
||||||
bootstrapper:
|
bootstrapper:
|
||||||
workspace: /target
|
workspace: /target
|
||||||
tarball: true
|
tarball: true
|
||||||
image:
|
|
||||||
name: deb-{system.release}-{system.architecture}-{system.bootloader}-{volume.partitions.type}-{%y}{%m}{%d}
|
|
||||||
description: Debian {system.release} {system.architecture}
|
|
||||||
system:
|
system:
|
||||||
charmap: UTF-8
|
charmap: UTF-8
|
||||||
locale: en_US
|
locale: en_US
|
||||||
|
|
Loading…
Add table
Reference in a new issue