Prepare Leap 16 for eventual release
This commit is contained in:
@@ -0,0 +1,16 @@
|
|||||||
|
distro = "opensuse"
|
||||||
|
version = "16.0"
|
||||||
|
iso = {
|
||||||
|
url = "https://download.opensuse.org/distribution/leap/16.0/installer/iso/agama-installer-Leap.x86_64-16.0.0-Leap-Build49.1.iso"
|
||||||
|
checksum = "e930c07476556481fbe15c1e471c20a04bb06f3daea6e2431b0a77a852261dc9"
|
||||||
|
}
|
||||||
|
boot_command = [
|
||||||
|
"e<wait>",
|
||||||
|
"<down><down><down><down><end><wait>",
|
||||||
|
"<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>",
|
||||||
|
" agama.auto=http://{{ .HTTPIP }}:{{ .HTTPPort }}/profile.jsonnet<wait>",
|
||||||
|
"<leftCtrlOn>x<leftCtrlOff>"
|
||||||
|
]
|
||||||
|
boot_wait = "8s"
|
||||||
|
http_directory = "distros/opensuse/16.0/http/"
|
||||||
|
vbox_os_type = "OpenSUSE_Leap_64"
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
zypper clean -a
|
||||||
@@ -0,0 +1,125 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE profile>
|
||||||
|
<!-- https://doc.opensuse.org/projects/autoyast/#CreateProfile-General -->
|
||||||
|
<profile xmlns="http://www.suse.com/1.0/yast2ns"
|
||||||
|
xmlns:config="http://www.suse.com/1.0/configns">
|
||||||
|
<general>
|
||||||
|
<mode>
|
||||||
|
<confirm config:type="boolean">false</confirm>
|
||||||
|
<final_reboot config:type="boolean">true</final_reboot>
|
||||||
|
</mode>
|
||||||
|
</general>
|
||||||
|
<groups config:type="list">
|
||||||
|
<group>
|
||||||
|
<groupname>wheel</groupname>
|
||||||
|
<userlist>vagrant</userlist>
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<groupname>vagrant</groupname>
|
||||||
|
<userlist>vagrant</userlist>
|
||||||
|
</group>
|
||||||
|
</groups>
|
||||||
|
<firewall>
|
||||||
|
<enable_firewall config:type="boolean">true</enable_firewall>
|
||||||
|
<default_zone>external</default_zone>
|
||||||
|
<zones config:type="list">
|
||||||
|
<zone>
|
||||||
|
<name>public</name>
|
||||||
|
<interfaces config:type="list">
|
||||||
|
<interface>eth0</interface>
|
||||||
|
</interfaces>
|
||||||
|
<services config:type="list">
|
||||||
|
<service>ssh</service>
|
||||||
|
</services>
|
||||||
|
</zone>
|
||||||
|
</zones>
|
||||||
|
</firewall>
|
||||||
|
<partitioning config:type="list">
|
||||||
|
<drive>
|
||||||
|
<use>all</use>
|
||||||
|
<partitions config:type="list">
|
||||||
|
<partition>
|
||||||
|
<mount>/boot</mount>
|
||||||
|
<size>512MiB</size>
|
||||||
|
</partition>
|
||||||
|
<partition>
|
||||||
|
<mount>/</mount>
|
||||||
|
<size>max</size>
|
||||||
|
</partition>
|
||||||
|
</partitions>
|
||||||
|
</drive>
|
||||||
|
</partitioning>
|
||||||
|
<language>
|
||||||
|
<language>en_US</language>
|
||||||
|
</language>
|
||||||
|
<networking>
|
||||||
|
<backend>network_manager</backend>
|
||||||
|
</networking>
|
||||||
|
<services-manager>
|
||||||
|
<services>
|
||||||
|
<enable config:type="list">
|
||||||
|
<service>sshd</service>
|
||||||
|
</enable>
|
||||||
|
</services>
|
||||||
|
</services-manager>
|
||||||
|
<software>
|
||||||
|
<packages config:type="list">
|
||||||
|
<package>openssh</package>
|
||||||
|
<package>sudo</package>
|
||||||
|
</packages>
|
||||||
|
<do_online_update config:type="boolean">true</do_online_update>
|
||||||
|
<install_recommended config:type="boolean">false</install_recommended>
|
||||||
|
</software>
|
||||||
|
<timezone>
|
||||||
|
<hwclock>UTC</hwclock>
|
||||||
|
<timezone>UTC</timezone>
|
||||||
|
</timezone>
|
||||||
|
<users config:type="list">
|
||||||
|
<user>
|
||||||
|
<username>root</username>
|
||||||
|
<user_password>vagrant</user_password>
|
||||||
|
<encrypted config:type="boolean">false</encrypted>
|
||||||
|
</user>
|
||||||
|
<user>
|
||||||
|
<username>vagrant</username>
|
||||||
|
<user_password>vagrant</user_password>
|
||||||
|
<encrypted config:type="boolean">false</encrypted>
|
||||||
|
</user>
|
||||||
|
</users>
|
||||||
|
<scripts>
|
||||||
|
<pre-scripts config:type="list">
|
||||||
|
<script>
|
||||||
|
<interpreter>shell</interpreter>
|
||||||
|
<filename>start.sh</filename>
|
||||||
|
<!-- <location>some_url</location> -->
|
||||||
|
<source>
|
||||||
|
<![CDATA[
|
||||||
|
#!/bin/sh
|
||||||
|
echo "Starting installation"
|
||||||
|
exit 0
|
||||||
|
]]>
|
||||||
|
</source>
|
||||||
|
</script>
|
||||||
|
</pre-scripts>
|
||||||
|
</scripts>
|
||||||
|
<files config:type="list">
|
||||||
|
<file>
|
||||||
|
<file_path>/etc/sudoers.d/vagrant</file_path>
|
||||||
|
<file_contents>
|
||||||
|
<![CDATA[
|
||||||
|
Defaults:vagrant !requiretty
|
||||||
|
vagrant ALL=(ALL) NOPASSWD: ALL
|
||||||
|
root ALL=(ALL) NOPASSWD: ALL
|
||||||
|
]]>
|
||||||
|
</file_contents>
|
||||||
|
<file_permissions>440</file_permissions>
|
||||||
|
<file_owner>root</file_owner>
|
||||||
|
</file>
|
||||||
|
<file>
|
||||||
|
<file_path>/home/vagrant/.ssh/authorized_keys</file_path>
|
||||||
|
<file_permissions>600</file_permissions>
|
||||||
|
<file_owner>vagrant</file_owner>
|
||||||
|
<file_location>https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub</file_location>
|
||||||
|
</file>
|
||||||
|
</files>
|
||||||
|
</profile>
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
// This is a Jsonnet file. Please, check https://jsonnet.org/ for more
|
||||||
|
// information about the language.
|
||||||
|
// For the schema, see
|
||||||
|
// https://github.com/openSUSE/agama/blob/master/rust/agama-lib/share/profile.schema.json
|
||||||
|
|
||||||
|
// The "hw.libsonnet" file contains hardware information from the "lshw" tool.
|
||||||
|
// Agama generates this file at runtime by running (with root privileges):
|
||||||
|
//
|
||||||
|
// lshw -json
|
||||||
|
//
|
||||||
|
// There are included also helpers to search this hardware tree. To see helpers check
|
||||||
|
// "/usr/share/agama-cli/agama.libsonnet"
|
||||||
|
local agama = import 'hw.libsonnet';
|
||||||
|
|
||||||
|
// Find the biggest disk which is suitable for installing the system.
|
||||||
|
local findBiggestDisk(disks) =
|
||||||
|
local sizedDisks = std.filter(function(d) std.objectHas(d, 'size'), disks);
|
||||||
|
local sorted = std.sort(sizedDisks, function(x) -x.size);
|
||||||
|
sorted[0].logicalname;
|
||||||
|
|
||||||
|
// Find how much physical memory system has.
|
||||||
|
local memory = agama.findByID(agama.lshw, 'memory').size;
|
||||||
|
|
||||||
|
{
|
||||||
|
product: {
|
||||||
|
id: 'Leap_16.0',
|
||||||
|
},
|
||||||
|
software: {
|
||||||
|
patterns: [
|
||||||
|
],
|
||||||
|
},
|
||||||
|
user: {
|
||||||
|
fullName: 'vagrant',
|
||||||
|
userName: 'vagrant',
|
||||||
|
password: 'vagrant',
|
||||||
|
},
|
||||||
|
root: {
|
||||||
|
password: 'vagrant',
|
||||||
|
},
|
||||||
|
localization: {
|
||||||
|
language: 'en_US',
|
||||||
|
keyboard: 'us',
|
||||||
|
},
|
||||||
|
storage: {
|
||||||
|
boot: {
|
||||||
|
configure: true,
|
||||||
|
device: findBiggestDisk(agama.selectByClass(agama.lshw, 'disk')),
|
||||||
|
},
|
||||||
|
drives: [{
|
||||||
|
search: findBiggestDisk(agama.selectByClass(agama.lshw, 'disk')),
|
||||||
|
ptableType: 'gpt',
|
||||||
|
partitions: [{
|
||||||
|
search: '*',
|
||||||
|
delete: true
|
||||||
|
},{
|
||||||
|
id: 'esp',
|
||||||
|
size: '512 MiB',
|
||||||
|
filesystem: {
|
||||||
|
type: 'vfat',
|
||||||
|
path: '/boot',
|
||||||
|
mountBy: 'label',
|
||||||
|
label: 'boot',
|
||||||
|
mountOptions: [ "noatime" ]
|
||||||
|
},
|
||||||
|
},{
|
||||||
|
id: 'linux',
|
||||||
|
size: {
|
||||||
|
min: '9 GiB',
|
||||||
|
},
|
||||||
|
filesystem: {
|
||||||
|
type: 'ext4',
|
||||||
|
path: '/',
|
||||||
|
mountBy: 'label',
|
||||||
|
label: 'root',
|
||||||
|
mountOptions: [ "noatime" ]
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
scripts: {
|
||||||
|
pre: [],
|
||||||
|
post: [ {
|
||||||
|
name: 'configure-vagrant',
|
||||||
|
body: |||
|
||||||
|
# Configure the insecure Vagrant SSH key
|
||||||
|
mkdir -p /home/vagrant/.ssh
|
||||||
|
curl -o /home/vagrant/.ssh/authorized_keys https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub
|
||||||
|
chown -R vagrant /home/vagrant/.ssh
|
||||||
|
chmod 600 /home/vagrant/.ssh
|
||||||
|
# Start services
|
||||||
|
systemctl enable sshd
|
||||||
|
# Configure sudo access for the vagrant user
|
||||||
|
cat < EOF > /etc/sudoers/sudoers.d/00_vagrant
|
||||||
|
Defaults:vagrant !requiretty
|
||||||
|
vagrant ALL=(ALL) NOPASSWD: ALL
|
||||||
|
root ALL=(ALL) NOPASSWD: ALL
|
||||||
|
EOF
|
||||||
|
|||
|
||||||
|
} ]
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
zypper install -y qemu-guest-agent
|
||||||
|
systemctl start qemu-guest-agent
|
||||||
|
systemctl enable qemu-guest-agent
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
@@ -6,6 +6,10 @@
|
|||||||
version = "15.6";
|
version = "15.6";
|
||||||
arch = "amd64";
|
arch = "amd64";
|
||||||
eol = false;
|
eol = false;
|
||||||
|
} {
|
||||||
|
version = "16.0";
|
||||||
|
arch = "amd64";
|
||||||
|
eol = true; # Not yet released, and bugged at the moment
|
||||||
} {
|
} {
|
||||||
version = "tumbleweed";
|
version = "tumbleweed";
|
||||||
arch = "amd64";
|
arch = "amd64";
|
||||||
|
|||||||
Reference in New Issue
Block a user