imagemaster3000 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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
- }