initial pass at Fedora IoT atomic config

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
This commit is contained in:
Peter Robinson 2018-03-14 19:27:33 +00:00
commit e4dff0e6fb
9 changed files with 278 additions and 0 deletions

18
config.ini Normal file
View file

@ -0,0 +1,18 @@
[DEFAULT]
outputdir =
# workdir = os.getcwd()
# srcdir = os.path.join(os.path.dirname(sys.argv[0], '..')
# rpmostree_cache_dir = %(workdir)s/%(release)s/cache
ostree_repo = %(outputdir)s/repo
os_name = fedora-iot
os_pretty_name = Fedora IoT
tree_name = docker-host
tree_file = %(os_name)s-%(tree_name)s.json
arch = x86_64
release = f28
ref = %(os_name)s/%(release)s/%(arch)s/%(tree_name)s
yum_baseurl = http://dl.fedoraproject.org/pub/fedora/linux//development/rawhide/%(arch)s/os/
# lorax_additional_repos = http://127.0.0.1/fedora-iot/local-overrides
lorax_include_packages = fedora-productimg-iot
docker_os_name = fedora

125
fedora-iot-base.json Normal file
View file

@ -0,0 +1,125 @@
{
"ref": "fedora/28/${basearch}/iot",
"ex-jigdo-spec": "fedora-iot.spec",
"repos": [],
"selinux": true,
"documentation": false,
"automatic_version_prefix": "28",
"mutate-os-release": "28",
"initramfs-args": ["--no-hostonly"],
"boot_location": "new",
"install-langs-comment": "Keep this in sync with treecompose-post.sh",
"install-langs": [
"pt_BR",
"fr",
"fr_FR",
"de",
"de_DE",
"it",
"it_IT",
"ru",
"ru_RU",
"es",
"es_ES",
"en_US",
"zh_CN",
"ja",
"ja_JP",
"ko",
"ko_KR",
"zh_TW",
"as",
"as_IN",
"bn",
"bn_IN",
"gu",
"gu_IN",
"hi",
"hi_IN",
"kn",
"kn_IN",
"ml",
"ml_IN",
"mr",
"mr_IN",
"or",
"or_IN",
"pa",
"pa_IN",
"ta",
"ta_IN",
"te",
"te_IN"
],
"postprocess-script": "treecompose-post.sh",
"etc-group-members": ["wheel", "docker"],
"ignore-removed-users": ["root"],
"ignore-removed-groups": ["root"],
"check-passwd": { "type": "file", "filename": "passwd" },
"check-groups": { "type": "file", "filename": "group" },
"packages": ["atomic",
"glibc", "nss-altfiles", "shadow-utils",
"sssd-client", "libsss_sudo",
"fedora-release-iot",
"dracut-config-generic", "kernel",
"dracut-network",
"rpm-ostree", "lvm2",
"chrony",
"cryptsetup",
"authselect",
"e2fsprogs", "xfsprogs",
"gnupg2",
"basesystem",
"python3",
"bash",
"xz", "gzip", "bzip2",
"coreutils",
"which",
"curl",
"iptables-services", "iptables", "firewalld",
"NetworkManager", "NetworkManager-bluetooth", "NetworkManager-wifi",
"dnsmasq",
"hostname", "initscripts", "iproute", "iputils",
"openssh-clients", "openssh-server", "passwd",
"policycoreutils", "procps-ng", "rootfiles", "rpm",
"selinux-policy-targeted", "setup", "shadow-utils",
"sudo", "systemd", "util-linux", "vim-minimal",
"less",
"tar",
"initial-setup",
"cloud-utils-growpart",
"rsync",
"bash-completion",
"tmux", "screen",
"policycoreutils-python",
"policycoreutils-python-utils",
"setools-console",
"audit",
"podman",
"attr"],
"packages-aarch64": ["grub2-efi", "ostree-grub2",
"efibootmgr", "shim", "atomic-devmode",
"uboot-tools", "uboot-images-armv8", "bcm283x-firmware"],
"packages-armhfp": ["extlinux-bootloader",
"uboot-tools", "uboot-images-armv7", "bcm283x-firmware"],
"packages-x86_64": ["grub2", "grub2-efi-x64", "ostree-grub2",
"efibootmgr", "shim", "atomic-devmode",
"microcode_ctl"],
"default_target": "multi-user.target",
"units": ["docker.service"]
}

13
fedora-iot-rawhide.tdl Normal file
View file

@ -0,0 +1,13 @@
<template>
<name>rawhide</name>
<os>
<name>Fedora</name>
<version>20</version>
<arch>x86_64</arch>
<install type='url'>
<url>http://dl.fedoraproject.org/pub/fedora/linux/development/22/x86_64/os/</url>
</install>
<rootpw>ewwwwwww</rootpw>
</os>
</template>

View file

@ -0,0 +1,5 @@
"ref": "fedora/28/${basearch}/updates/iot",
"ex-jigdo-spec": "fedora-iot.spec",
"include": "fedora-iot-base.json"
}

View file

@ -0,0 +1,5 @@
{
"ref": "fedora/28/${basearch}/testing/iot",
"ex-jigdo-spec": "fedora-iot.spec",
"include": "fedora-iot-base.json"
}

6
fedora-iot.json Normal file
View file

@ -0,0 +1,6 @@
{
"ref": "fedora/28/${basearch}/iot",
"ex-jigdo-spec": "fedora-iot.spec",
"repos": ["fedora-28", "fedora-28-updates"],
"include": "fedora-iot-base.json"
}

22
fedora-iot.spec Normal file
View file

@ -0,0 +1,22 @@
# Suppress most build root processing since we are just carrying binary data
%global __os_install_post /usr/lib/rpm/brp-compress %{nil}
Name: fedora-iot
Version: %{ostree_version}
Release: 1%{?dist}
Summary: Image (rpm-ostree jigdo) for Fedora Atomic Host
License: MIT
#@@@rpmostree_jigdo_meta@@@
%description
%{summary}
%prep
%build
%install
mkdir -p %{buildroot}%{_prefix}/lib/ostree-jigdo/%{name}
for x in *; do mv ${x} %{buildroot}%{_prefix}/lib/ostree-jigdo/%{name}; done
%files
%{_prefix}/lib/ostree-jigdo/%{name}

51
group Normal file
View file

@ -0,0 +1,51 @@
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:
cdrom:x:11:
mail:x:12:
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:30:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
utmp:x:22:
utempter:x:35:
ssh_keys:x:999:
systemd-journal:x:190:
dbus:x:81:
polkitd:x:998:
etcd:x:997:
dip:x:40:
cgred:x:996:
tss:x:59:
avahi-autoipd:x:170:
rpc:x:32:
sssd:x:993:
dockerroot:x:986:
rpcuser:x:29:
nfsnobody:x:65534:
kube:x:994:
sshd:x:74:
chrony:x:992:
tcpdump:x:72:
ceph:x:167:
input:x:995:
systemd-timesync:x:991:
systemd-network:x:990:
systemd-resolve:x:989:
systemd-bus-proxy:x:988:
cockpit-ws:x:987:

33
passwd Normal file
View file

@ -0,0 +1,33 @@
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
etcd:x:998:997:etcd user:/var/lib/etcd:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
sssd:x:995:993:User for sssd:/:/sbin/nologin
dockerroot:x:997:986:Docker User:/var/lib/docker:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
kube:x:996:994:Kubernetes user:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:994:992::/var/lib/chrony:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
ceph:x:167:167:Ceph daemons:/var/lib/ceph:/sbin/nologin
systemd-timesync:x:993:991:systemd Time Synchronization:/:/sbin/nologin
systemd-network:x:991:990:systemd Network Management:/:/sbin/nologin
systemd-resolve:x:990:989:systemd Resolver:/:/sbin/nologin
systemd-bus-proxy:x:989:988:systemd Bus Proxy:/:/sbin/nologin
cockpit-ws:x:988:987:User for cockpit-ws:/:/sbin/nologin