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";
|
||||
arch = "amd64";
|
||||
eol = false;
|
||||
} {
|
||||
version = "16.0";
|
||||
arch = "amd64";
|
||||
eol = true; # Not yet released, and bugged at the moment
|
||||
} {
|
||||
version = "tumbleweed";
|
||||
arch = "amd64";
|
||||
|
||||
Reference in New Issue
Block a user