Add config files
diff --git a/README.rst b/README.rst
index bd2f1a1..3ef8b52 100644
--- a/README.rst
+++ b/README.rst
@@ -1,6 +1,6 @@
==================
-Metal as a SErvice
+Metal as a Service
==================
Service maas description
diff --git a/maas/files/curtin_userdata_amd64_generic_trusty b/maas/files/curtin_userdata_amd64_generic_trusty
new file mode 100644
index 0000000..8f93355
--- /dev/null
+++ b/maas/files/curtin_userdata_amd64_generic_trusty
@@ -0,0 +1,69 @@
+{%- from "maas/map.jinja" import server with context %}
+{% raw %}
+#cloud-config
+debconf_selections:
+ maas: |
+ {{for line in str(curtin_preseed).splitlines()}}
+ {{line}}
+ {{endfor}}
+{{if third_party_drivers and driver}}
+early_commands:
+ {{py: key_string = ''.join(['\\x%x' % x for x in map(ord, driver['key_binary'])])}}
+ driver_00_get_key: /bin/echo -en '{{key_string}}' > /tmp/maas-{{driver['package']}}.gpg
+ driver_01_add_key: ["apt-key", "add", "/tmp/maas-{{driver['package']}}.gpg"]
+ driver_02_add: ["add-apt-repository", "-y", "deb {{driver['repository']}} {{node.get_distro_series()}} main"]
+ driver_03_update_install: ["sh", "-c", "apt-get update --quiet && apt-get --assume-yes install {{driver['package']}}"]
+ driver_04_load: ["sh", "-c", "depmod && modprobe {{driver['module']}}"]
+{{endif}}
+late_commands:
+ maas: [wget, '--no-proxy', '{{node_disable_pxe_url|escape.shell}}', '--post-data', '{{node_disable_pxe_data|escape.shell}}', '-O', '/dev/null']
+{{if third_party_drivers and driver}}
+ driver_00_key_get: curtin in-target -- sh -c "/bin/echo -en '{{key_string}}' > /tmp/maas-{{driver['package']}}.gpg"
+ driver_02_key_add: ["curtin", "in-target", "--", "apt-key", "add", "/tmp/maas-{{driver['package']}}.gpg"]
+ driver_03_add: ["curtin", "in-target", "--", "add-apt-repository", "-y", "deb {{driver['repository']}} {{node.get_distro_series()}} main"]
+ driver_04_update_install: ["curtin", "in-target", "--", "apt-get", "update", "--quiet"]
+ driver_05_install: ["curtin", "in-target", "--", "apt-get", "-y", "install", "{{driver['package']}}"]
+ driver_06_depmod: ["curtin", "in-target", "--", "depmod"]
+ driver_07_update_initramfs: ["curtin", "in-target", "--", "update-initramfs", "-u"]
+{{endif}}
+ apt_00_tcpcloud_set: ["curtin", "in-target", "--", "sh", "-c", "echo 'deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ trusty main security extra tcp tcp-salt' > /etc/apt/sources.list"]
+ apt_01_tcpcloud_gpg: ["curtin", "in-target", "--", "sh", "-c", "echo 'LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tDQpWZXJzaW9uOiBHbnVQRyB2MQ0KDQptUUlOQkZXQmZDSUJFQURmNmxuc1k5djRyZi94MHJpYmtGbG5IbnN2MS95RCtNK1lnWm9ReFlkZjZiN000L1BZDQp6Wi9jM3VKdDRsMXZSM1lvb2NmYzFWZ3RCTmZBMXVzc0JxWGRteVJCTU8xTEtkUVdudXJOeFdMVzdDd2N5TmtlDQp4ZUJmaGpPcUE2dElJWE1mb3I3dVVyd2xJeEpJeEsramMzQzNuaE00NlFacFdYNWQ0bWxrZ3hLaDFHNFpSajRBDQptRW8yTmR1TFVnZm1GK2dNMU1tQWJVOGVremNpS2V0NFRzTTY0V0F0SHlZbGxHS3Z1RlNkQmpzZXdPM01jdWhSDQppMURlc2I1UWRmSVU0cDNna0lhMEVxbGtrcVg0cm93bzVxVW5sNjcwVE5UVFpIYXowTXhDQm9ZYUdiR2hTN2daDQo2L1BMbThmSkhtVS9waHN0L1FtT1k3NmE1ZWZaV2JoaG5seVlMSUI4VWp5d04rVkRxd2tOazlqTFVTWEhUYWtoDQpkbkw0T3VHb05wSXptczhqdVZGbG51T214K0ZjZmJITWJoQWM3YVBxRksrNkozWVM0a0pTZmVIV0o2Y1RHb1UxDQpjTFdFaHNiVTNHcDhhbTVmbmg3MlJKN3Yyc1RlL3J2Q3VWdGxOdWZpNVN5QlBjRVVab3hGVldBQy9oTWVpV3p5DQpkckJJVkM3M3JhZitBK09qSDhvcDlYZmtWajZjenhRLzQ1MXNvZTNqdkNER2dUWFBMbHRzK1A1V2hnV05wRFBhDQpmT2ZUSG4vMm83TndvTTdWcCtCUVlLQVE3OHBoc29sdk5OaGYrZzUxbnRvTFVieEFHS1pZelE1UlBzS28rSHE2DQo5NlVDRmtxaFNBQmswRHZNMEx0cXV6WitzTm9pcGQwMnc4RWF4UXplbERKeHZQRkdpZ28xdXFHb2lRQVJBUUFCDQp0Q3gwWTNCamJHOTFaQ0J6YVdkdWFXNW5JR3RsZVNBOFlYVjBiMkoxYVd4a1FIUmpjR05zYjNWa0xtVjFQb2tDDQpPd1FUQVFJQUpRSWJBd1lMQ1FnSEF3SUdGUWdDQ1FvTEJCWUNBd0VDSGdFQ0Y0QUZBbFdqNEs4Q0dRRUFDZ2tRDQpKQUNGQ2Fkb2d0UG05eEFBbDFEMVJVWTFtdHRqS2srOEtJM3RVbWd0cUxhSUdVY0I0VFBiSWhRcEZ5MjNUSmQ2DQpCbm5FYUdaK0hTQ2ozbHAvZEJvcTF4eENxSEN6aUtBMDRJcFBhTHBHSmY4Y3FhS09wUXBXMUVybFN4VDZuQ1FXDQpGckhGeFpyZUJUbGpLcVczZnZSQlhOQXF1ajBrckpFd3YxOS8zU3NRK0NKSTJaa3EvSFBEdzllSk9DdTBXY0pNDQpQVnRBcTJTbWFEaWdoMWp0RmNGb1daN3VGRk1RUElXaXQvUkNQa0Rma0ZhZjZsYllaL25udldPTjlPQWd6V2NpDQpHSmpDcDVhN3ZNeUNwVFJ5NmJnTlBxTTYxb21DZTBpUTR5SWNxQU5YaFJZUy9EQm5qS3I5WWFES25sS05VZ2QxDQpXUkU4UXpFclF6bkgvcGxnSVNRK2RmKzhJdW5wM1NCci9qajE2MDR5eU0xV3hwcG4xK2RBb1RCVTFPUEZHVmQzDQptQ0VZSFVlK3YwaVRaNjlDMmMxSVNtcDJNamNpR3lFL1VQYlc5ZWpVSVh0RkpBSm92WmpuNlAzZ2x5SVFCM3dxDQpBVzZKRSt4RUJXSDdJeCtVdjZZTkFGZmozVU82dk5qdHVHYlRDV1lEQ0VKUmtkbWVFN1FkVFlEbzdQeGdQbDF0DQo2eE1HUExPQmRZTkpURW9qdlJZQlR0KzZpdzBlWitNQ1VkVUZOZWFzZVFoMHAxUmdxTTkvN3Q3NVFDTkxsMW9PDQorQ2Z1NHZOZWYvVHBkM0xIY1VvUWhRMk9WaU9WRmJxMS9ZdS9uYXRXRFBEY1hiM3BlVGNOSE9qbVhBb2JvV2J6DQpyRGt4ajV6N3ZjSjlMTUVYdmlQNkZiL2lYRG1KaDc0L282QWdjOGVmYjBXVG1GalBGRnRNQ0hyaW5iKzVBZzBFDQpWWUY4SWdFUUFMVVZTMkdFU1ErRjFTNGIwSklPMU0ydFZCWGlINE41NmVVemNEWHhYYlNaZ0NneDRhV2hrNXZKDQpRdTdNMTFndHFJb2lSYm11RnBVbURPRy9rQjdEeEJaUG44V3FjQktwa3k2R1VQL0EvZW1hQVpUd05RZGNEQWhEDQpmb0JrSmRoVnowRDJqbmtCZmZZTDA1NXAvcjFFcnMraVRUTk9hcy8wdWM1MEMzMnhSODIzclEyTmw2L2ZmSU02DQpKcWZRZW5oUnZxVVdQajlvcUVTSE1zcUVkY2VTd1MvVkM3Uk40eFFYSlhmRVd1MnE0QWhzNjJSbXZDWG5UdzFBDQpzUGNweXNvQm9vOElXK1YxTVZRRVp1QUpSbjJBR08vUTd1WTlUUjRndUhiM3dYUmZaM2swS1ZVc3lxcWR1c0ppDQpUM0R4eEJ3NkdjS2RPSDZ0NDFZczNlWWdPcmMrUmNTZGNIWVNweGFMdkVJaHd6YXJaK21xY3AzZ3ovSmtQbFhTDQoydHgybDZOWkhjZ1JlT003SWhxTXV4ekJicGNyc2JCbUxCZW1DK3U3aG9QVGpVZFRIS0V3dldhZVhMNHZnc3FRDQpCYkVlS21YZXA1c1pnM2tIdHBYelk5WmZQUXJ0R0I4dkhHcmZhWkljQ0t1WHdaV0dMNUdHV0t3M1RTUDRmQUlBDQpqTHhMZjVNeXlYY3N1Z2JhaTJPWS9INHNBdXZKSHNtR3RlcmdHa251UitpRmR0NWVsMXdnUktQMXIxS2Rtdk1tDQp3c1NheWM2ZVNFS2Q2ODl4M3pzbUF0bmhZTTMxb01rUGRlWVJibk4xNWdMRzd2Y3NWZTRqdWcwWVRxUXQyV0duDQpod2pCQTBpMnFmVG9yWGVtV0Noc3hLbGx2WTlhQjNTVDhJNlJNYXQwa1MwOEZNRCtDZWQvQUJFQkFBR0pBaDhFDQpHQUVDQUFrRkFsV0JmQ0lDR3d3QUNna1FKQUNGQ2Fkb2d0TmljQS85SE9NNDAyVkdIbG11WVBjcnZFVGhIcU1LDQpLT1R0TkZzcnJQcDY3ZEdZYVQ4VEdUZ3kxT0c0T3lzMnkraHJ3cW5VSzZkWEp4WDIvUkJmUnVPL2d3NjVSQ2ZDDQo5bldlTWtxSlRqSEpDS05UWWZYTjRPNGFnNDQ0VVpQY09NcStJeWlXRjMvc2g2NzR6Q2tDbTVEUS9GSDhJSjhZDQpuNGpNb3hlN0c0OFBDR3RnY0pLWG84TkJ6eHdYSkg0RENkazdyTmRyYnJuQ3dPYkc4aDY1MzBXcm16S3V5RkNKDQpRUDVKQTBNU3gyM0oyT3JLMlltVk1oVGVPMGN6SjhmUmlwOVdlOS9xQWZaR1VFVytzZXkrbkxtVDVPSnEwNGFsDQpWYTlnMmE0blh4ekR5ODQraFJYUU5VZUNSWW4veXM4ZDhxOUhaTnYzSzM2SGxJTGN1V2F6TlRUaDBjdVd1cEJkDQpTbElFdVdiSWRia25ZcEdzbVMxY1BlR2kwYmRvTFp2OTBCSVZtZE9TL3ZYUDAyZkdVYmx5QU5jaUtjQlBSaE9JDQorejZoendkWitRdmpQYnhaVWlnNVh1dnFCaElIb1J0TUJKZGYyNHlzRnVmL2Q0dVp6VEM4VDRyVVFPK0wyOWJ0DQo4cmlUMGRnNmNIVndDMFZIODlGYU8xRmR1dnNDdEF3ZEFneFN6T01CRUNOT21WQlRoSWlXZExubnMxMDdScDRGDQpFQ2srbDJVQ2psN3p3R3FKcWNkMUJRSytVZ1p3VkcyVVYxMUNyaG9wS1U1b0dMODRuNURhTzJuNlJ2OHdWZHJ0DQpNS3ZxaTdFa2d2WnBZMElISjdycDBHenJ2MHFtd0phVUZDV0ZvZ0lUTnlpamIxSlZzVWdEVE1oQWtFZ0VzSVl5DQpqdGN3SnJIdWU1WG44VVBTTGtFPQ0KPVNXaUENCi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS0='|base64 -d| apt-key add -"]
+ apt_02_clean: ["curtin", "in-target", "--", "apt-get", "clean"]
+ apt_03_update: ["curtin", "in-target", "--", "apt-get", "update"]
+ apt_04_kernel: ["curtin", "in-target", "--", "apt-get", "install", "linux-headers-3.19.0-26", "linux-headers-3.19.0-26-generic", "linux-image-3.19.0-26-generic","linux-image-extra-3.19.0-26-generic"]
+ salt_00_announce: ["curtin", "in-target", "--", "echo", "'### Installing and Configuring Salt Minion ###'"]
+
+{% endraw %}
+{% raw %}
+ salt_01_install: ["curtin", "in-target", "--", "apt-get", "-y", "install", "salt-minion"]
+ salt_02_hostname_set: ["curtin", "in-target", "--", "echo", "{{node.hostname}}.dc01.tcpcloud.eu"]
+ salt_03_hostname_get: ["curtin", "in-target", "--", "sh", "-c", "echo 'id: {{node.hostname}}.dc01.tcpcloud.eu' >> /etc/salt/minion"]
+ salt_04_master: ["curtin", "in-target", "--", "sh", "-c", "echo 'master: 10.0.170.7' >> /etc/salt/minion"]
+ salt_05_announce: ["curtin", "in-target", "--", "echo", "'### Salt Minion is configured successfully ###'"]
+ salt_06_show_conf_hostname: ["curtin", "in-target", "--", "cat", "/etc/salt/minion"]
+ salt_07_show_hosts: ["curtin", "in-target", "--", "cat", "/etc/hosts"]
+
+
+power_state:
+ mode: reboot
+
+{{if node.split_arch()[0] in {'i386', 'amd64'} }}
+apt_mirrors:
+ ubuntu_archive: http://{{main_archive_hostname}}/{{main_archive_directory}}
+ ubuntu_security: http://{{main_archive_hostname}}/{{main_archive_directory}}
+{{else}}
+apt_mirrors:
+ ubuntu_archive: http://{{ports_archive_hostname}}/{{ports_archive_directory}}
+ ubuntu_security: http://{{ports_archive_hostname}}/{{ports_archive_directory}}
+{{endif}}
+
+{{if enable_http_proxy}}
+{{if http_proxy }}
+apt_proxy: {{http_proxy}}
+{{else}}
+apt_proxy: http://{{server_host}}:8000/
+{{endif}}
+{{endif}}
+
+{% endraw %}
+
diff --git a/maas/files/maas.conf b/maas/files/maas.conf
index 44e3449..ab6e25d 100644
--- a/maas/files/maas.conf
+++ b/maas/files/maas.conf
@@ -1 +1,6 @@
-# Service config file
\ No newline at end of file
+{%- from "maas/map.jinja" import server with context %}
+database_host: localhost
+database_name: maasdb
+database_pass: a7Zpk1JVMn0Z
+database_user: maas
+maas_url: http://10.0.174.10/MAAS
diff --git a/maas/map.jinja b/maas/map.jinja
index 70352e3..6584823 100644
--- a/maas/map.jinja
+++ b/maas/map.jinja
@@ -1,10 +1,12 @@
{%- load_yaml as base_defaults %}
-
Debian:
pkgs:
- maas
- maas-region-controller
- maas-cluster-controller
+ bind:
+ address: 0.0.0.0
+ port: 8080
{%- endload %}
-{%- set server = salt['grains.filter_by'](base_defaults, merge=salt['pillar.get']('maas:server')) %}
\ No newline at end of file
+{%- set server = salt['grains.filter_by'](base_defaults, merge=salt['pillar.get']('maas:server', {})) %}
\ No newline at end of file
diff --git a/maas/server.sls b/maas/server.sls
index 6f893c0..0d1851d 100644
--- a/maas/server.sls
+++ b/maas/server.sls
@@ -5,4 +5,14 @@
pkg.installed:
- names: {{ server.pkgs }}
+/etc/maas/preseeds/curtin_userdata_amd64_generic_trusty:
+ file.managed:
+ - source: salt://maas/files/curtin_userdata_amd64_generic_trusty
+ - template: jinja
+ - user: root
+ - group: root
+ - mode: 644
+ - require:
+ - pkg: mass_server_packages
+
{%- endif %}
diff --git a/metadata/service/server/vendor_repo.yml b/metadata/service/server/vendor_repo.yml
new file mode 100644
index 0000000..fc1c8f1
--- /dev/null
+++ b/metadata/service/server/vendor_repo.yml
@@ -0,0 +1,6 @@
+parameters:
+ linux:
+ system:
+ repo:
+ maas:
+
\ No newline at end of file