imagemaster3000 0.3.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a853a32a955a6c658f4ffefb685a27cd040ea230
4
- data.tar.gz: b18be946a5e6547513b8ff5d133a56967ac473b3
3
+ metadata.gz: 56263bdfc041537d665f88ad33036b4bfab8b9cc
4
+ data.tar.gz: 2912e02dc7803f9f060fc9cb268bc53309c059a7
5
5
  SHA512:
6
- metadata.gz: 55ea832d2d0d3ed142d5e4f2907099d26a66fac60ef5c940d7be544c0c4e0e54c1526bc4a6fe2a04c01f6650ad4acfcf8b81cd24fb37d2f2d7b107316aae2089
7
- data.tar.gz: 1f3ab6a1937ea4a4d78cb233b321321a422291bdff5a26fa8de3bc3071846c13cf053ddb860df496af4a350432109b8027bc00de30e8ee58fd367d0ce6ef8817
6
+ metadata.gz: 4ab9ffb20c53b9cc4ba76ccc9c60c953025374ba8c2e97aba4bdbae4e6932c240ca966206c2865cf96cd2c1417df4f6de7b3a1204e59dd4f32ce3544653efb46
7
+ data.tar.gz: 031a6ecb0363b7f643d0f4a81d4dc89100c5b337fb9c52505ffe7bf4a69e536c3cfcfaac5d068ca448557bc423ff109ee2a0ab2276212109c82db47d03cc8ed2
@@ -1,5 +1,5 @@
1
1
  imagemaster3000:
2
- definitions-dir: # If set, definitions in this direcotry are used to download and modify images
2
+ definitions-git-repo: # Definitions in this git repository are used to download and modify images
3
3
  image-dir: /var/spool/imagemaster3000/ # Directory where to temporarily store images
4
4
  image-list: /var/spool/imagemaster3000/imagemaster3000.list # Name and path of generated image list
5
5
  endpoint: http://localhost/ # Endpoint where image list will be available
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ['lib']
21
21
 
22
22
  spec.add_development_dependency 'bundler', '~> 1.15'
23
+ spec.add_development_dependency 'git', '~> 1.3'
23
24
  spec.add_development_dependency 'rake', '~> 12.0'
24
25
  spec.add_development_dependency 'rspec', '~> 3.5'
25
26
  spec.add_development_dependency 'rubocop', '~> 0.48'
@@ -17,10 +17,11 @@ module Imagemaster3000
17
17
  type: :boolean,
18
18
  desc: 'Runs in debug mode'
19
19
 
20
- method_option :'definitions-dir',
21
- default: Imagemaster3000::Settings['definitions-dir'],
20
+ method_option :'definitions-git-repo',
21
+ default: Imagemaster3000::Settings['definitions-git-repo'],
22
22
  type: :string,
23
- desc: 'If set, definitions in this direcotry are used to download and modify images'
23
+ required: true,
24
+ desc: 'Definitions in this git repository are used to download and modify images'
24
25
  method_option :'image-dir',
25
26
  default: Imagemaster3000::Settings['image-dir'],
26
27
  type: :string,
@@ -83,10 +84,6 @@ module Imagemaster3000
83
84
  def initialize_configuration(options)
84
85
  Imagemaster3000::Settings.clear
85
86
  Imagemaster3000::Settings.merge! options.to_hash
86
-
87
- gem_dir = File.realdirpath(File.join(File.dirname(__FILE__), '..', '..'))
88
- Imagemaster3000::Settings[:'definitions-dir'] = File.join(gem_dir, 'config', 'definitions') \
89
- unless Imagemaster3000::Settings[:'definitions-dir']
90
87
  end
91
88
 
92
89
  def initialize_logger
@@ -0,0 +1,23 @@
1
+ require 'git'
2
+ require 'tmpdir'
3
+
4
+ module Imagemaster3000
5
+ module Definitions
6
+ class Downloader
7
+ def initialize(git_repository)
8
+ @dir = Dir.mktmpdir 'imagemaster3000-'
9
+ logger.debug "Downloading definitions repository #{git_repository}"
10
+ @git = Git.clone(git_repository, 'definitions', path: @dir)
11
+ end
12
+
13
+ def path
14
+ @git.dir.path
15
+ end
16
+
17
+ def clean
18
+ logger.debug "Cleaning definitions #{@dir}"
19
+ FileUtils.remove_entry @dir
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,5 +1,6 @@
1
1
  module Imagemaster3000
2
2
  module Definitions
3
3
  autoload :Parser, 'imagemaster3000/definitions/parser'
4
+ autoload :Downloader, 'imagemaster3000/definitions/downloader'
4
5
  end
5
6
  end
@@ -1,25 +1,42 @@
1
1
  module Imagemaster3000
2
2
  class MainProcess
3
- def run
4
- logger.debug 'Loading images from definitions'
5
- images = Imagemaster3000::Definitions::Parser.parse_image_definitions
6
- logger.debug 'Processing images'
7
- images.each { |image| process_image image }
3
+ attr_accessor :definitions
4
+ attr_accessor :images
8
5
 
9
- logger.debug 'Generating image list'
10
- image_list = Imagemaster3000::ImageList::Signer.sign(Imagemaster3000::ImageList::Generator.generate(images))
11
- File.write Imagemaster3000::Settings[:'image-list'], image_list
6
+ def run
7
+ process_definitions
8
+ process_images
9
+ generate_image_list
12
10
  Imagemaster3000::Cleaner.clean
13
11
  ensure
14
12
  Imagemaster3000::Cleaner.write_clean_file images.map(&:local_filename)
13
+ definitions.clean
15
14
  end
16
15
 
17
16
  private
18
17
 
19
- def process_image(image)
20
- image.download
21
- image.verify! if image.respond_to? :verify!
22
- image.actions.each { |action| action.run image.local_filename } unless image.actions.blank?
18
+ def process_definitions
19
+ logger.debug "Download definitions from #{Imagemaster3000::Settings['definitions-git-repo'].inspect}"
20
+ @definitions = Imagemaster3000::Definitions::Downloader.new Imagemaster3000::Settings['definitions-git-repo']
21
+ Imagemaster3000::Settings['definitions-dir'] = definitions.path
22
+ logger.debug 'Loading images from definitions'
23
+ @images = Imagemaster3000::Definitions::Parser.parse_image_definitions
24
+ end
25
+
26
+ def process_images
27
+ logger.debug 'Processing images'
28
+ images.each do |image|
29
+ logger.debug "Processing image #{image.name.inspect}"
30
+ image.download
31
+ image.verify! if image.respond_to? :verify!
32
+ image.actions.each { |action| action.run image.local_filename } unless image.actions.blank?
33
+ end
34
+ end
35
+
36
+ def generate_image_list
37
+ logger.debug 'Generating image list'
38
+ image_list = Imagemaster3000::ImageList::Signer.sign(Imagemaster3000::ImageList::Generator.generate(images))
39
+ File.write Imagemaster3000::Settings[:'image-list'], image_list
23
40
  end
24
41
  end
25
42
  end
@@ -1,3 +1,3 @@
1
1
  module Imagemaster3000
2
- VERSION = '0.3.2'.freeze
2
+ VERSION = '0.4.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imagemaster3000
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Kimle
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-26 00:00:00.000000000 Z
11
+ date: 2017-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.15'
27
+ - !ruby/object:Gem::Dependency
28
+ name: git
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.3'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.3'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -274,17 +288,6 @@ files:
274
288
  - README.md
275
289
  - Rakefile
276
290
  - bin/imagemaster3000
277
- - config/definitions/centos-7.json
278
- - config/definitions/debian-8.json
279
- - config/definitions/debian-9.json
280
- - config/definitions/files/.gitkeep
281
- - config/definitions/files/centos-cloud.cfg
282
- - config/definitions/files/debian-cloud.cfg
283
- - config/definitions/files/serial-getty@ttyS0.service
284
- - config/definitions/files/ttyS0.conf
285
- - config/definitions/files/ubuntu-cloud.cfg
286
- - config/definitions/ubuntu-14.04.json
287
- - config/definitions/ubuntu-16.04.json
288
291
  - config/imagemaster3000.yml
289
292
  - imagemaster3000.gemspec
290
293
  - lib/imagemaster3000.rb
@@ -294,6 +297,7 @@ files:
294
297
  - lib/imagemaster3000/cleaner.rb
295
298
  - lib/imagemaster3000/cli.rb
296
299
  - lib/imagemaster3000/definitions.rb
300
+ - lib/imagemaster3000/definitions/downloader.rb
297
301
  - lib/imagemaster3000/definitions/parser.rb
298
302
  - lib/imagemaster3000/definitions/schemas/imagemaster3000-definition-schema.json
299
303
  - lib/imagemaster3000/entities.rb
@@ -1,29 +0,0 @@
1
- {
2
- "name":"METACLOUD-CentOS-7-x86_64@metacloud-dukan",
3
- "url":"http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-1704.qcow2",
4
- "verification":{
5
- "signature":{
6
- "clearsign":{
7
- "file":"http://cloud.centos.org/centos/7/images/sha256sum.txt.asc"
8
- }
9
- },
10
- "hash":{
11
- "function":"SHA256"
12
- }
13
- },
14
- "distribution":"CentOS",
15
- "version":"7.3-1704",
16
- "actions":{
17
- "copy":[
18
- {
19
- "source":"centos-cloud.cfg",
20
- "target":"/etc/cloud/",
21
- "name":"cloud.cfg"
22
- },
23
- {
24
- "source":"serial-getty@ttyS0.service",
25
- "target":"/etc/systemd/system/getty.target.wants/"
26
- }
27
- ]
28
- }
29
- }
@@ -1,33 +0,0 @@
1
- {
2
- "name":"METACLOUD-Debian-8-x86_64@metacloud-dukan",
3
- "url":"https://cdimage.debian.org/cdimage/openstack/8.8.2-20170620/debian-8.8.2-20170620-openstack-amd64.qcow2",
4
- "verification":{
5
- "signature":{
6
- "detached":{
7
- "signature": "https://cdimage.debian.org/cdimage/openstack/8.8.2-20170620/SHA256SUMS.sign",
8
- "data": "https://cdimage.debian.org/cdimage/openstack/8.8.2-20170620/SHA256SUMS"
9
- }
10
- },
11
- "hash":{
12
- "function":"SHA256"
13
- }
14
- },
15
- "distribution":"Debian",
16
- "version":"8.8.2",
17
- "actions":{
18
- "remove":[
19
- "/etc/cloud/cloud.cfg.d/90_dpkg.cfg"
20
- ],
21
- "copy":[
22
- {
23
- "source":"debian-cloud.cfg",
24
- "target":"/etc/cloud/",
25
- "name":"cloud.cfg"
26
- },
27
- {
28
- "source":"serial-getty@ttyS0.service",
29
- "target":"/etc/systemd/system/getty.target.wants/"
30
- }
31
- ]
32
- }
33
- }
@@ -1,33 +0,0 @@
1
- {
2
- "name":"METACLOUD-Debian-9-x86_64@metacloud-dukan",
3
- "url":"https://cdimage.debian.org/cdimage/openstack/9.0.2-20170623/debian-9.0.2-20170623-openstack-amd64.qcow2",
4
- "verification":{
5
- "signature":{
6
- "detached":{
7
- "signature": "https://cdimage.debian.org/cdimage/openstack/9.0.2-20170623/SHA256SUMS.sign",
8
- "data": "https://cdimage.debian.org/cdimage/openstack/9.0.2-20170623/SHA256SUMS"
9
- }
10
- },
11
- "hash":{
12
- "function":"SHA256"
13
- }
14
- },
15
- "distribution":"Debian",
16
- "version":"9.0.1",
17
- "actions":{
18
- "remove":[
19
- "/etc/cloud/cloud.cfg.d/90_dpkg.cfg"
20
- ],
21
- "copy":[
22
- {
23
- "source":"debian-cloud.cfg",
24
- "target":"/etc/cloud/",
25
- "name":"cloud.cfg"
26
- },
27
- {
28
- "source":"serial-getty@ttyS0.service",
29
- "target":"/etc/systemd/system/getty.target.wants/"
30
- }
31
- ]
32
- }
33
- }
File without changes
@@ -1,95 +0,0 @@
1
- # If this is set, 'root' will not be able to ssh in and they
2
- # will get a message to login instead as the above $user (ubuntu)
3
- disable_root: False
4
- user: root
5
- ssh_pwauth: False
6
- ssh_deletekeys: True
7
- ssh_genkeytypes: ['rsa', 'dsa']
8
- ssh_svcname: sshd
9
-
10
- # This will cause the set+update hostname module to not operate (if true)
11
- preserve_hostname: false
12
- cc_ready_cmd: ['/bin/true']
13
- mount_default_fields: [~, ~, 'auto', 'defaults,nofail', '0', '2']
14
- syslog_fix_perms: ~
15
- manage_etc_hosts: True
16
-
17
- # Update and upgrade system on first boot
18
- apt_preserve_sources_list: True
19
- package_update: True
20
- package_upgrade: True
21
- package_reboot_if_required: True
22
-
23
- # work only with OpenNebula, use network based datasource,
24
- # so that we can successfully resolve IPv4 based hostname
25
- disable_ec2_metadata: True
26
- datasource_list: ['OpenNebula']
27
- datasource:
28
- OpenNebula:
29
- dsmode: net
30
-
31
- # The modules that run in the 'init' stage
32
- cloud_init_modules:
33
- - migrator
34
- - seed_random
35
- - bootcmd
36
- - write-files
37
- - growpart
38
- - resizefs
39
- - set_hostname
40
- - update_hostname
41
- - update_etc_hosts
42
- - ca-certs
43
- - rsyslog
44
- - users-groups
45
- - ssh
46
-
47
- # The modules that run in the 'config' stage
48
- cloud_config_modules:
49
- # Emit the cloud config ready event
50
- # this can be used by upstart jobs for 'start on cloud-config'.
51
- - emit_upstart
52
- - disk_setup
53
- - mounts
54
- - ssh-import-id
55
- - locale
56
- - set-passwords
57
- - grub-dpkg
58
- - apt-pipelining
59
- - apt-configure
60
- - package-update-upgrade-install
61
- - landscape
62
- - timezone
63
- - puppet
64
- - chef
65
- - salt-minion
66
- - mcollective
67
- - disable-ec2-metadata
68
- - runcmd
69
- - byobu
70
-
71
- # The modules that run in the 'final' stage
72
- cloud_final_modules:
73
- - rightscale_userdata
74
- - scripts-per-once
75
- - scripts-per-boot
76
- - scripts-per-instance
77
- - scripts-user
78
- - ssh-authkey-fingerprints
79
- - keys-to-console
80
- - phone-home
81
- - final-message
82
- - power-state-change
83
-
84
- # System and/or distro specific settings
85
- # (not accessible to handlers/transforms)
86
- system_info:
87
- # This will affect which distro class gets used
88
- distro: rhel
89
- # Other config here will be given to the distro class and/or path classes
90
- paths:
91
- cloud_dir: /var/lib/cloud/
92
- templates_dir: /etc/cloud/templates/
93
- ssh_svcname: sshd
94
-
95
- # vim:syntax=yaml
@@ -1,101 +0,0 @@
1
- # If this is set, 'root' will not be able to ssh in and they
2
- # will get a message to login instead as the above $user (ubuntu)
3
- disable_root: False
4
- user: root
5
- ssh_pwauth: False
6
- ssh_deletekeys: True
7
- ssh_genkeytypes: ['rsa', 'dsa']
8
- ssh_svcname: sshd
9
-
10
- # This will cause the set+update hostname module to not operate (if true)
11
- preserve_hostname: false
12
- cc_ready_cmd: ['/bin/true']
13
- mount_default_fields: [~, ~, 'auto', 'defaults,nofail', '0', '2']
14
- syslog_fix_perms: ~
15
- manage_etc_hosts: True
16
-
17
- # Update and upgrade system on first boot
18
- apt_preserve_sources_list: True
19
- package_update: True
20
- package_upgrade: True
21
- package_reboot_if_required: True
22
-
23
- # work only with OpenNebula, use network based datasource,
24
- # so that we can successfully resolve IPv4 based hostname
25
- disable_ec2_metadata: True
26
- datasource_list: ['OpenNebula']
27
- datasource:
28
- OpenNebula:
29
- dsmode: net
30
-
31
- # The modules that run in the 'init' stage
32
- cloud_init_modules:
33
- - migrator
34
- - seed_random
35
- - bootcmd
36
- - write-files
37
- - growpart
38
- - resizefs
39
- - set_hostname
40
- - update_hostname
41
- - update_etc_hosts
42
- - ca-certs
43
- - rsyslog
44
- - users-groups
45
- - ssh
46
-
47
- # The modules that run in the 'config' stage
48
- cloud_config_modules:
49
- # Emit the cloud config ready event
50
- # this can be used by upstart jobs for 'start on cloud-config'.
51
- - emit_upstart
52
- - disk_setup
53
- - mounts
54
- - ssh-import-id
55
- - locale
56
- - set-passwords
57
- - grub-dpkg
58
- - apt-pipelining
59
- - apt-configure
60
- - package-update-upgrade-install
61
- - landscape
62
- - timezone
63
- - puppet
64
- - chef
65
- - salt-minion
66
- - mcollective
67
- - disable-ec2-metadata
68
- - runcmd
69
- - byobu
70
-
71
- # The modules that run in the 'final' stage
72
- cloud_final_modules:
73
- - rightscale_userdata
74
- - scripts-per-once
75
- - scripts-per-boot
76
- - scripts-per-instance
77
- - scripts-user
78
- - ssh-authkey-fingerprints
79
- - keys-to-console
80
- - phone-home
81
- - final-message
82
- - power-state-change
83
-
84
- # System and/or distro specific settings
85
- # (not accessible to handlers/transforms)
86
- system_info:
87
- # This will affect which distro class gets used
88
- distro: debian
89
- # Other config here will be given to the distro class and/or path classes
90
- paths:
91
- cloud_dir: /var/lib/cloud/
92
- templates_dir: /etc/cloud/templates/
93
- upstart_dir: /etc/init/
94
- package_mirrors:
95
- - arches: [default]
96
- failsafe:
97
- primary: http://ftp.debian.org/debian
98
- mount_default_fields: [~, ~, 'auto', 'defaults,nofail', '0', '2']
99
- manage_etc_hosts: true
100
-
101
- # vim:syntax=yaml
@@ -1,35 +0,0 @@
1
- # This file is part of systemd.
2
- #
3
- # systemd is free software; you can redistribute it and/or modify it
4
- # under the terms of the GNU Lesser General Public License as published by
5
- # the Free Software Foundation; either version 2.1 of the License, or
6
- # (at your option) any later version.
7
-
8
- [Unit]
9
- Description=Serial Getty on %I
10
- Documentation=man:agetty(8) man:systemd-getty-generator(8)
11
- Documentation=http://0pointer.de/blog/projects/serial-console.html
12
- BindsTo=dev-%i.device
13
- After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service
14
- After=rc-local.service
15
-
16
- # If additional gettys are spawned during boot then we should make
17
- # sure that this is synchronized before getty.target, even though
18
- # getty.target didn't actually pull it in.
19
- Before=getty.target
20
- IgnoreOnIsolate=yes
21
-
22
- [Service]
23
- ExecStart=-/sbin/agetty --autologin root --keep-baud 115200,38400,9600 %I $TERM
24
- Type=idle
25
- Restart=always
26
- UtmpIdentifier=%I
27
- TTYPath=/dev/%I
28
- TTYReset=yes
29
- TTYVHangup=yes
30
- KillMode=process
31
- IgnoreSIGPIPE=no
32
- SendSIGHUP=yes
33
-
34
- [Install]
35
- WantedBy=getty.target
@@ -1,22 +0,0 @@
1
- # ttyS0 - getty
2
- #
3
- # This service maintains a getty on ttyS0 from the point the system is
4
- # started until it is shut down again.
5
-
6
- start on stopped rc RUNLEVEL=[2345] and (
7
- not-container or
8
- container CONTAINER=lxc or
9
- container CONTAINER=lxc-libvirt)
10
-
11
- stop on runlevel [!2345]
12
-
13
- pre-start script
14
- # getty will not be started if the serial console is not present
15
- stty -F /dev/ttyS0 -a 2> /dev/null > /dev/null || { stop ; exit 0; }
16
- end script
17
-
18
- respawn
19
- script
20
- exec /sbin/getty --autologin root -L ttyS0 115200 vt102
21
- end script
22
- # CLOUD_IMG: This file was created/modified by the Cloud Image build process
@@ -1,111 +0,0 @@
1
- # If this is set, 'root' will not be able to ssh in and they
2
- # will get a message to login instead as the above $user (ubuntu)
3
- disable_root: False
4
- user: root
5
- ssh_pwauth: False
6
- ssh_deletekeys: True
7
- ssh_genkeytypes: ['rsa', 'dsa']
8
- ssh_svcname: sshd
9
-
10
- # This will cause the set+update hostname module to not operate (if true)
11
- preserve_hostname: false
12
- cc_ready_cmd: ['/bin/true']
13
- mount_default_fields: [~, ~, 'auto', 'defaults,nofail', '0', '2']
14
- syslog_fix_perms: ~
15
- manage_etc_hosts: True
16
-
17
- # Update and upgrade system on first boot
18
- apt_preserve_sources_list: True
19
- package_update: True
20
- package_upgrade: True
21
- package_reboot_if_required: True
22
-
23
- # work only with OpenNebula, use network based datasource,
24
- # so that we can successfully resolve IPv4 based hostname
25
- disable_ec2_metadata: True
26
- datasource_list: ['OpenNebula']
27
- datasource:
28
- OpenNebula:
29
- dsmode: net
30
-
31
- # The modules that run in the 'init' stage
32
- cloud_init_modules:
33
- - migrator
34
- - seed_random
35
- - bootcmd
36
- - write-files
37
- - growpart
38
- - resizefs
39
- - set_hostname
40
- - update_hostname
41
- - update_etc_hosts
42
- - ca-certs
43
- - rsyslog
44
- - users-groups
45
- - ssh
46
-
47
- # The modules that run in the 'config' stage
48
- cloud_config_modules:
49
- # Emit the cloud config ready event
50
- # this can be used by upstart jobs for 'start on cloud-config'.
51
- - emit_upstart
52
- - disk_setup
53
- - mounts
54
- - ssh-import-id
55
- - locale
56
- - set-passwords
57
- - grub-dpkg
58
- - apt-pipelining
59
- - apt-configure
60
- - package-update-upgrade-install
61
- - landscape
62
- - timezone
63
- - puppet
64
- - chef
65
- - salt-minion
66
- - mcollective
67
- - disable-ec2-metadata
68
- - runcmd
69
- - byobu
70
-
71
- # The modules that run in the 'final' stage
72
- cloud_final_modules:
73
- - rightscale_userdata
74
- - scripts-per-once
75
- - scripts-per-boot
76
- - scripts-per-instance
77
- - scripts-user
78
- - ssh-authkey-fingerprints
79
- - keys-to-console
80
- - phone-home
81
- - final-message
82
- - power-state-change
83
-
84
- # System and/or distro specific settings
85
- # (not accessible to handlers/transforms)
86
- system_info:
87
- # This will affect which distro class gets used
88
- distro: ubuntu
89
- # Other config here will be given to the distro class and/or path classes
90
- paths:
91
- cloud_dir: /var/lib/cloud/
92
- templates_dir: /etc/cloud/templates/
93
- upstart_dir: /etc/init/
94
- package_mirrors:
95
- - arches: [i386, amd64]
96
- failsafe:
97
- primary: http://archive.ubuntu.com/ubuntu
98
- security: http://security.ubuntu.com/ubuntu
99
- search:
100
- primary:
101
- - http://%(ec2_region)s.ec2.archive.ubuntu.com/ubuntu/
102
- - http://%(availability_zone)s.clouds.archive.ubuntu.com/ubuntu/
103
- - http://%(region)s.clouds.archive.ubuntu.com/ubuntu/
104
- security: []
105
- - arches: [armhf, armel, default]
106
- failsafe:
107
- primary: http://ports.ubuntu.com/ubuntu-ports
108
- security: http://ports.ubuntu.com/ubuntu-ports
109
- ssh_svcname: ssh
110
-
111
- # vim:syntax=yaml
@@ -1,30 +0,0 @@
1
- {
2
- "name":"METACLOUD-Ubuntu-14.04-x86_64@metacloud-dukan",
3
- "url":"https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img",
4
- "verification":{
5
- "signature":{
6
- "detached":{
7
- "signature":"https://cloud-images.ubuntu.com/trusty/current/SHA256SUMS.gpg",
8
- "data":"https://cloud-images.ubuntu.com/trusty/current/SHA256SUMS"
9
- }
10
- },
11
- "hash":{
12
- "function":"SHA256"
13
- }
14
- },
15
- "distribution":"Ubuntu",
16
- "version":"14.04",
17
- "actions":{
18
- "copy":[
19
- {
20
- "source":"ubuntu-cloud.cfg",
21
- "target":"/etc/cloud/",
22
- "name":"cloud.cfg"
23
- },
24
- {
25
- "source":"ttyS0.conf",
26
- "target":"/etc/init/"
27
- }
28
- ]
29
- }
30
- }
@@ -1,30 +0,0 @@
1
- {
2
- "name":"METACLOUD-Ubuntu-16.04-x86_64@metacloud-dukan",
3
- "url":"https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img",
4
- "verification":{
5
- "signature":{
6
- "detached":{
7
- "signature":"https://cloud-images.ubuntu.com/xenial/current/SHA256SUMS.gpg",
8
- "data":"https://cloud-images.ubuntu.com/xenial/current/SHA256SUMS"
9
- }
10
- },
11
- "hash":{
12
- "function":"SHA256"
13
- }
14
- },
15
- "distribution":"Ubuntu",
16
- "version":"16.04",
17
- "actions":{
18
- "copy":[
19
- {
20
- "source":"ubuntu-cloud.cfg",
21
- "target":"/etc/cloud/",
22
- "name":"cloud.cfg"
23
- },
24
- {
25
- "source":"serial-getty@ttyS0.service",
26
- "target":"/etc/systemd/system/getty.target.wants/"
27
- }
28
- ]
29
- }
30
- }